/* LAVIDA E7 — base design/components. Application shell and navigation live only in shell.css/navigation.css. */
/* ############################################################################
   LAVIDA E7 — التوكنز والمكوّنات الأساسية (Base Design System)
   الإصدار: 20261020 — مستخرج حرفيًا من ملفات السيستم الحالية دون تعديل في القيم
   المحتوى: الخط Cairo + التوكنز + المكوّنات العامة.
   E7: shell.css هو المصدر الوحيد للـShell، navigation.css للتنقل المحلي، dashboards.css للشاشات الرئيسية.
   القواعد الإلزامية: var(--brand) أساسي · Cairo · وزن 400 · RTL · خلفيات فاتحة وبطاقات بيضاء
                      نوافذ منبثقة (popups) لا قوائم منسدلة · الصفحات تستهلك المتغيرات ولا تعيد تعريف :root
   ############################################################################ */

/* ========== 1) الخط ========== */
@font-face{font-family:"Cairo";src:url("fonts/Cairo-Variable.ttf") format("truetype-variations");font-weight:200 1000;font-display:swap;}

/* ========== 2) home.css ========== */
/* ============================================================================
   LAVIDA — Design System التنفيذي (المرجع الوحيد: صورة «LAVIDA — تطوير التصميم المعتمد»)
   الملف الأساسي للتوكنز والمكوّنات العامة. الـShell والتنقل في shell.css/navigation.css فقط.
   القواعد الإلزامية: #c62828 أساسي · Cairo · وزن 400 فقط · RTL · خلفيات فاتحة وبطاقات بيضاء.
   قيم التوكنز مطابقة حرفيًا لعقد config/ui-standard.json (LAVIDA-UI/1) و ThemePolicy.php.
   الصفحات تستهلك المتغيّرات فقط ولا تعيد تعريف :root.
   ============================================================================ */
*{box-sizing:border-box}html,body,button,input,select,textarea,[role="button"],[role="tab"],table,th,td,h1,h2,h3,h4,h5,h6,b,strong{font-family:var(--lav-font)}/* وزن 400 فقط — يشمل العناوين ورؤوس الجداول و b/strong والشعار النصي */
h1,h2,h3,h4,h5,h6,th,optgroup,b,strong,label,legend,dt{font-weight:var(--lav-w-text)}h1,h2,h3{font-size:var(--lav-font-title);line-height:var(--lav-line-height);margin:0 0 6px}body{
  margin:0;font-family:var(--lav-font);font-size:var(--lav-font-base);color:var(--lav-text);direction:rtl;
  line-height:var(--lav-line-height);font-weight:var(--lav-w-text);min-height:100vh;min-height:100dvh;background:var(--lav-bg);
}#app{position:relative;z-index:1}[hidden]{display:none!important}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible{outline:2px solid var(--lav-primary);outline-offset:2px;box-shadow:var(--lav-focus-ring)}/* الشعار النصي (نص حي — وزن 400 — أحمر الهوية) */
.lavx-logo-word{font-size:var(--fs-page);letter-spacing:.5px;color:var(--lav-primary);line-height:1.1;font-weight:var(--lav-w-text);direction:ltr;display:inline-block}/* ============================================================
   القالب العام: توب بار + شريط المراكز العلوي + المحتوى
   ============================================================ */
[data-env="test"]{--lav-env-h:26px}
.lavx-logowrap{display:flex;flex-direction:row;align-items:baseline;justify-content:center;gap:6px;flex-shrink:0;padding-inline-end:14px;border-inline-end:1px solid var(--lav-border);direction:ltr}/* top bar date (replaces the old global search) */
/* أزرار الأيقونات في التوب بار — شكل واحد (دائرة 36px بحد فاتح) */
.lavx-bell,.lavx-logout{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-height:36px;padding:0;border:1px solid var(--lav-border);border-radius:50%;background:var(--lav-surface);color:var(--lav-muted2);cursor:pointer;flex-shrink:0;position:relative;font:inherit}.lavx-bell:hover{background:var(--lav-primary-soft);color:var(--lav-primary);border-color:var(--lav-err-border)}.lavx-bell svg,.lavx-logout svg{width:18px;height:18px}#lav_mynotify{color:var(--lav-ic-violet)}#lav_refresh{color:var(--lav-ic-cyan)}.lavx-bell{color:var(--lav-warning)}.lavx-logout{color:var(--lav-error)}.lavx-logout:hover{background:var(--lav-error-bg);border-color:var(--lav-err-border)}.lavx-bell.has-many .lavx-bell-badge{background:var(--lav-danger2)}.lavx-bell.has-some,.lavx-bell.has-many{color:var(--lav-primary);border-color:var(--lav-err-border)}/* شريط المراكز الثمانية (أيقونة فوق النص — كما في المرجع) */
/* لون ثابت لكل مركز — يساعد على التعرف السريع؛ ألوان الحالة الأربعة غير مستخدمة هنا */
/* LAVIDA FINANCIAL *//* LAVIDA LEGAL */
/* مركز بأكثر من صفحة: قائمة منسدلة تحت اسم المركز على سطح المكتب (الدرج على الموبايل يعرض نفس الصفحات تحت المركز) */

/* المحتوى */
/* مساحة عمل الصفحة (المرجع المعتمد): صف عنوان مضغوط (عنوان + وصف يمين، الإجراء الأساسي شمال) + صف تابات واحد + المحتوى */
.lav-center-workspace{display:flex;flex-direction:column;gap:10px;min-width:0}.lav-center-workspace-body{min-width:0}.lav-page-head-text{display:flex;flex-direction:column;gap:1px;min-width:0}.lav-page-head-title{font-size:var(--lav-h1);color:var(--lav-text);line-height:1.35;margin:0;font-weight:var(--lav-w-text)}.lav-page-head-sub{font-size:var(--lav-font-small);color:var(--lav-muted)}.lav-page-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}/* عنوان الصفحة الداخلي مخفي — اسم الصفحة من الشيت هو عنوان الرأس الوحيد */
.lav-center-workspace-body [data-lav-shell-title]{display:none}/* شريط التابات (الصفحة والتابات الداخلية): شريط أبيض لوحده، وتحته المسافة الموحدة */
/* المستوى الثاني (أقسام داخل التاب): مستطيلات متساوية المقاس، النص في المنتصف، صف واحد مصفوف
   — نفس قاعدة صف الصفحة بحدود بدل الخط السفلي، حتى لا يختلف شكل تاب عن تاب في أي صفحة. */
/* أسماء التابات الموروثة في الصفحات (.lavcu-tab,.p12-tab,.lavco-tab …) تأخذ نفس مقاس التاب
   وشكله من هنا؛ تعريفاتها القديمة حُذفت من مصدر كل صفحة فلا يوجد تعريفان لنفس العنصر. */
.lavcu-tab.active,.p12-tab.active,.p12-subtab.active,.lavco-tab.active,.lavpt-tab.active,.lavFu-tabs>button.active{background:var(--lav-primary-soft);border-color:var(--lav-primary);color:var(--lav-primary)}
/* ============================================================
   المكوّنات المشتركة
   ============================================================ */
/* رأس الصفحة + الإجراء الرئيسي */
.lav-page-card{background:var(--lav-surface);border:1px solid var(--lav-border);border-radius:var(--lav-radius);box-shadow:var(--lav-shadow-soft);padding:var(--lav-card-pad);min-width:0}.lav-page-card:empty{display:none}:is(.lav-page-card,.lav-kpis,.lav-dialog-actions):not([hidden]) + :is(.lav-page-card,.lav-filters-bar,.lav-kpis):not([hidden]):not(.lav-stack>*):not(.lav-grid>*){margin-top:var(--lav-gap)}.lav-page-hint{font-size:var(--lav-font-small);color:var(--lav-muted);line-height:var(--lav-line-height)}.lav-page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0;min-height:40px}.lav-page-head .lav-page-title{font-size:var(--lav-h1);margin-bottom:2px}/* صف متكرّر بزرار حذف — تعريف واحد لكل الشاشات، الزرار جوّه الصف مش فوقه */
.lav-linerow>.lav-act{flex:0 0 auto;align-self:flex-end;height:var(--lav-field-h);margin:0}/* الأزرار وحالاتها */
.lav-btn:disabled,.lav-modal-btn:disabled,.lav-btn[aria-disabled="true"]{opacity:.55;cursor:not-allowed}.lav-btn-light,.lav-modal-btn.cancel{background:var(--lav-surface);color:var(--lav-primary);border-color:var(--lav-border-2)}.lav-btn-light:hover,.lav-modal-btn.cancel:hover{background:var(--lav-primary-soft);border-color:var(--lav-err-border)}.lav-btn-neutral{background:var(--lav-surface);color:var(--lav-text);border-color:var(--lav-border-2)}.lav-btn-neutral:hover{background:var(--lav-soft);border-color:var(--lav-border-3)}.lav-btn-save{background:var(--lav-save);border-color:var(--lav-save)}.lav-btn-save:hover{background:var(--lav-save-dark);border-color:var(--lav-save-dark)}.lav-btn.is-loading,.lav-btn-save.is-loading,.lavco-go.is-loading{cursor:default;opacity:.72;box-shadow:none}.lav-btn svg{width:var(--lav-ic-size-btn);height:var(--lav-ic-size-btn);flex-shrink:0;fill:none;stroke:currentColor;stroke-width:var(--lav-ic-stroke);stroke-linecap:round;stroke-linejoin:round}.lav-btn:focus-visible,.lav-modal-btn:focus-visible,.lav-ptab:focus-visible,.lav-subtab:focus-visible{outline:2px solid var(--lav-primary);outline-offset:2px}#login_btn{background:var(--lav-primary)}#login_btn:hover{background:var(--lav-primary-dark)}/* الحقول والقوائم والتواريخ */
.lav-field,.lav-modal-input{
  height:var(--lav-field-h);min-height:var(--lav-field-h);width:100%;min-width:0;border:1px solid var(--lav-border-2);border-radius:var(--lav-radius-sm);
  padding:0 var(--lav-field-pad-x);font-size:var(--lav-field-font);font-family:var(--lav-font);outline:none;transition:border-color .15s,box-shadow .15s;background:var(--lav-surface);color:var(--lav-text);
}.lav-field:focus,.lav-modal-input:focus,input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{border-color:var(--lav-primary);box-shadow:var(--lav-focus-ring);outline:none}select.lav-field{font-size:var(--lav-select-font);cursor:pointer;appearance:none;-webkit-appearance:none;padding-inline-end:30px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left 10px center}select.lav-field{min-width:0;max-width:100%;text-overflow:ellipsis}textarea.lav-field,.lav-modal-input{height:auto;min-height:var(--lav-textarea-min-h);padding:8px var(--lav-field-pad-x);line-height:var(--lav-line-height);resize:vertical}input[type="checkbox"].lav-field,input[type="radio"].lav-field{width:16px;height:16px;min-height:0;padding:0;flex:0 0 auto;accent-color:var(--lav-primary)}input[type="checkbox"],input[type="radio"]{accent-color:var(--lav-primary)}input[type="date"].lav-field,input[type="time"].lav-field,input[type="month"].lav-field{cursor:pointer;color:var(--lav-text)}input[type="date"].lav-field::-webkit-calendar-picker-indicator,input[type="time"].lav-field::-webkit-calendar-picker-indicator,input[type="month"].lav-field::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.8;padding:4px;border-radius:6px}input[readonly].lav-field:not([data-lavdate]){background:var(--lav-surface-2);cursor:default}
/* منتقي التاريخ والشهر (module-shell.js) */.lav-cal{position:fixed;display:none;width:268px;padding:12px;background:var(--lav-surface);border:1px solid var(--lav-border);border-radius:var(--lav-radius);box-shadow:var(--lav-shadow);direction:rtl;font-family:var(--lav-font)}.lav-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.lav-cal-title{padding:4px 10px;border:1px solid transparent;border-radius:var(--lav-radius-sm);background:none;font-family:inherit;font-size:var(--lav-font-base);color:var(--lav-text)}button.lav-cal-title{cursor:pointer}button.lav-cal-title:hover{border-color:var(--lav-primary);color:var(--lav-primary)}.lav-cal-nav{width:30px;height:30px;border:1px solid var(--lav-border);border-radius:var(--lav-radius-sm);background:var(--lav-surface);color:var(--lav-primary);font-size:var(--fs-title-sm);line-height:1;cursor:pointer}.lav-cal-nav:hover{background:var(--lav-primary);border-color:var(--lav-primary);color:var(--lav-surface)}.lav-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.lav-cal-mgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.lav-cal-wd{padding:3px 0;font-size:var(--fs-small);color:var(--lav-muted);text-align:center}.lav-cal-day,.lav-cal-month{background:transparent;padding:0;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--lav-radius-sm);font-size:var(--lav-font-small);color:var(--lav-text);cursor:pointer;transition:background .1s,border-color .1s}.lav-cal-day{height:32px}.lav-cal-month{height:40px}.lav-cal-day:hover:not(:disabled),.lav-cal-month:hover:not(:disabled){background:var(--lav-primary-soft);border-color:var(--lav-primary)}.lav-cal-day:disabled,.lav-cal-month:disabled{opacity:.45;cursor:not-allowed}.lav-cal-day.empty{visibility:hidden;cursor:default}.lav-cal-day.today,.lav-cal-month.today{border-color:var(--lav-primary);color:var(--lav-primary)}.lav-cal-day.sel,.lav-cal-month.sel{background:var(--lav-primary);border-color:var(--lav-primary);color:var(--lav-surface)}.lav-cal-day.sel:hover,.lav-cal-month.sel:hover{background:var(--lav-primary-dark)}.lav-cal-foot{display:flex;justify-content:space-between;gap:6px;margin-top:9px}.lav-cal-btn{flex:1;height:30px;border:1px solid var(--lav-border);border-radius:var(--lav-radius-sm);background:var(--lav-surface);color:var(--lav-text);font-family:inherit;font-size:var(--lav-font-small);cursor:pointer}.lav-cal-btn:hover{background:var(--lav-soft)}.lav-cal-btn.today{border-color:var(--lav-primary);color:var(--lav-primary)}.lav-field:disabled,select:disabled,textarea:disabled{background:var(--lav-soft);color:var(--lav-muted);cursor:not-allowed}[data-lavdate]{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='1.8' stroke-linecap='round'%3E%3Crect x='3' y='4' width='18' height='17' rx='2'/%3E%3Cpath d='M3 9h18M8 2v4M16 2v4'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:left 11px center;padding-left:34px;cursor:pointer;
}/* البحث (حقل بحث بأيقونة) */

/* Fields placed straight in a filter bar (LEGAL lists): one row, search wider than the lists. */
/* التابات الداخلية (نص + خط سفلي أحمر للنشط — كما في المرجع) */

/* البحث والفلاتر */
/* شريط الفلاتر — تعريف واحد لكل الأنظمة: سطر واحد، اسم الفلتر فوق خانته، كل الخانات بنفس الارتفاع، والزرار في الآخر؛ الموبايل عمودين */.lav-filters-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--lav-gap);padding:10px var(--lav-card-pad);background:var(--lav-surface);border:1px solid var(--lav-border);border-radius:var(--lav-radius);box-shadow:var(--lav-shadow-soft);margin-bottom:var(--lav-gap)}.lav-filters-bar>*{margin:0;min-width:0}.lav-filters-bar>label{display:flex;flex-direction:column;gap:var(--lav-label-gap);flex:1 1 150px;font-size:var(--lav-font-small);color:var(--lav-muted)}.lav-filters-bar>label>:is(input,select){width:100%;margin:0}:is(.lav-filters-bar,.lav-form-grid)>label.lav-check{flex:0 0 auto;flex-direction:row;align-items:center;gap:6px;height:var(--lav-field-h);font-size:var(--lav-font-base);color:var(--lav-text);white-space:nowrap}:is(.lav-filters-bar,.lav-form-grid)>label.lav-check>input{width:17px;height:17px;accent-color:var(--lav-primary)}.lav-filters-bar>:is(.lav-field,.lav-select){flex:1 1 150px;width:auto}.lav-filters-bar>.lav-actions{flex:0 0 auto}.lav-filters-bar>.lav-btn,.lav-filters-bar>.lav-actions>.lav-btn{flex:0 0 auto;height:var(--lav-field-h)}.lav-filters-bar>label.lav-cust-cell{flex:2 1 320px}.lav-filters-bar>label>.lav-cust-lbl{margin:0}/* المؤشرات (KPI) — بطاقة بيضاء: تسمية رمادية، رقم كبير، أيقونة في دائرة وردية فاتحة */
.lav-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--lav-gap);margin-bottom:var(--lav-gap)}.lav-kpis:last-child:not(:only-child){margin-bottom:0}
/* المكان اللي بيتملي بعد التحميل (غلاف فيه المؤشرات أو الفلاتر بس) بياخد مسافتها؛ وجوه .lav-stack الفجوة هي المسافة */
.lav-stack>*>:is(.lav-kpis,.lav-filters-bar):only-child{margin-bottom:0}
.lav-kpi{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--lav-surface);border:1px solid var(--lav-border);border-radius:var(--lav-radius);padding:10px 14px;min-width:0;box-shadow:var(--lav-shadow-soft);text-decoration:none;color:inherit}a.lav-kpi:hover,button.lav-kpi:hover{border-color:var(--lav-err-border)}.lav-kpi-ic{width:var(--lav-ic-box);height:var(--lav-ic-box);border-radius:var(--lav-radius-sm);background:var(--lav-primary-soft);color:var(--lav-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}
/* each card of a row gets its own icon colour */
.lav-kpi:nth-child(6n/**/+2) .lav-kpi-ic{background:var(--lav-ic-teal-bg);color:var(--lav-ic-teal)}.lav-kpi:nth-child(6n/**/+3) .lav-kpi-ic{background:var(--lav-ic-indigo-bg);color:var(--lav-ic-indigo)}.lav-kpi:nth-child(6n/**/+4) .lav-kpi-ic{background:var(--lav-warning-bg);color:var(--lav-warning)}.lav-kpi:nth-child(6n/**/+5) .lav-kpi-ic{background:var(--lav-ic-violet-bg);color:var(--lav-ic-violet)}.lav-kpi:nth-child(6n) .lav-kpi-ic{background:var(--lav-ic-cyan-bg);color:var(--lav-ic-cyan)}.lav-kpi-body{display:flex;flex-direction:column;gap:2px;flex:1 1 auto;min-width:0;text-align:center}.lav-kpi-lbl{font-size:var(--lav-font-small);color:var(--lav-muted);white-space:normal;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;line-height:1.35}.lav-kpi-num{font-size:var(--lav-kpi-num);color:var(--lav-text);line-height:1.2;font-variant-numeric:tabular-nums;unicode-bidi:plaintext}.lav-kpi-num.is-primary{color:var(--lav-primary)}/* توافق: ملخصات التقارير القديمة */
/* الجداول والترقيم والفرز */
table{border-collapse:collapse}th{background:var(--lav-note-empty-bg);color:var(--lav-muted);font-weight:var(--lav-w-text);font-size:var(--lav-font-small);text-align:center;padding:var(--lav-table-cell-pad);border-bottom:1px solid var(--lav-border);overflow-wrap:normal;word-break:normal}td{color:var(--lav-text);font-size:var(--lav-table-font);padding:var(--lav-table-cell-pad);border-bottom:1px solid var(--lav-border);vertical-align:middle;overflow-wrap:break-word;word-break:normal;unicode-bidi:plaintext}td:only-child:has(>.lav-empty){border-bottom:0}/* صف «مفيش» من غير خط تحته */tbody tr:hover td{background:var(--lav-surface-2)}/* الجداول من غير سكرول جوّه: بعرض الكارت، والصفحة بس هي اللي بتنزل */.lav-table-wrap,.lav-tbl-wrap{max-width:100%;border:0;border-radius:var(--lav-radius);background:var(--lav-surface)}.lav-table-wrap table,.lav-tbl-wrap table{width:100%}.lav-ui-table,.lav-ui-table th,.lav-ui-table td{font-size:var(--lav-table-font);font-weight:var(--lav-w-text);line-height:var(--lav-line-height)}td.num,td[data-num]{text-align:center;direction:ltr;unicode-bidi:isolate;font-variant-numeric:tabular-nums}/* خلايا جداول التحرير في مكانه (إعدادات LEGAL): كود ثابت بلا التفاف، وحقل رقمي قصير */.lav-ui-table td.code{white-space:nowrap;color:var(--lav-muted)}/* E6 — owner decision 14 Sep: long values stay visible on up to two lines; never ellipsis. */.lav-cell-clip{display:-webkit-box;min-width:0;max-width:100%;margin-inline:auto;overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;line-height:var(--lav-line-height);-webkit-box-orient:vertical;-webkit-line-clamp:2}.lav-ui-table tr.is-off td{color:var(--lav-muted)}.lav-ui-table input.lav-field.num{max-width:110px}
/* total row of a table (sums under the lines) */
.lav-ui-table td input.lav-field:is([type="number"],[inputmode="numeric"],[inputmode="decimal"]){max-width:130px}th[aria-sort="ascending"]::after{content:" ↑";color:var(--lav-primary)}th[aria-sort="descending"]::after{content:" ↓";color:var(--lav-primary)}/* رأس الجدول ثابت وانت بتنزل في الصفحة */
#lav_content .lav-ui-table thead th{position:sticky;top:0;z-index:2;background:var(--lav-note-empty-bg)}/* شارات الحالة */
/* شارة الحالة: شكل ومقاس واحد لكل السيستم (مكتمل/قيد المراجعة/متأخر…)؛ أسماء الصفحات القديمة
   (rqc-st,opr-badge,lavAl-badge,st-*) تنضم هنا وتُحذف تعريفاتها من مصادرها. */
.lav-badge.ok,.lavhr-bdg.ok,.lavrep-badge.ok,.p12-badge.is-ok,.st.ok{background:var(--lav-badge-ok-bg);color:var(--lav-success);border-color:var(--lav-badge-ok-bd)}.lav-badge.warn,.lavhr-bdg.wait,.p12-badge.is-warn,.st.warn{background:var(--lav-badge-warn-bg);color:var(--lav-warning);border-color:var(--lav-badge-warn-bd)}.lav-badge.err,.lavhr-bdg.no,.lavrep-badge.rem,.st.err{background:var(--lav-badge-err-bg);color:var(--lav-error);border-color:var(--lav-badge-err-bd)}.lav-badge.info,.p12-badge.is-primary{background:var(--lav-transfer-soft);color:var(--lav-transfer);border-color:color-mix(in srgb,var(--st-info) 30%,transparent)}.lav-badge.muted{background:var(--lav-soft);color:var(--lav-muted)}/* وسم الكود/المرجع (كود عميل، رقم عملية، اسم شركة): عرض تلقائي ولون محايد — ليس شارة حالة */
.lav-card{border:1px solid var(--lav-border);border-radius:var(--lav-radius);padding:10px 12px;background:var(--lav-surface);transition:border-color .12s}.lav-card.open{border-color:var(--lav-primary);box-shadow:var(--lav-shadow-soft)}.lav-grid{display:grid;gap:12px;--lav-grid-cols:3;grid-template-columns:repeat(var(--lav-grid-cols),minmax(0,1fr))}
.lav-grid-2{--lav-grid-cols:2}
@media (max-width:1200px){.lav-grid{--lav-grid-cols:2}}

@media (max-width:760px){.lav-grid{--lav-grid-cols:1}}
.lav-foot-field .lav-field{height:var(--lav-field-h);border-radius:var(--lav-radius-sm);width:100%}dl.lav-details{display:grid;grid-template-columns:repeat(auto-fill,minmax(max(220px,calc((100% - 2 * var(--lav-gap)) / 3)),1fr));gap:var(--lav-label-gap) var(--lav-gap);margin:0;font-size:var(--lav-font-base)}.lav-dp.is-wide{grid-column:1/-1}.lav-dp.is-wide dd{white-space:pre-line}dl.lav-details dt{margin:0;color:var(--lav-muted)}dl.lav-details dd{margin:0;min-width:0;overflow-wrap:break-word}/* صفوف تفاصيل (تسمية يمين / قيمة يسار) — لوحة التفاصيل في المرجع */

@keyframes lavShimmer{from{background-position:100% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.lav-loading{animation:none}}

/* الدخول: الشاشة بتتفك من زرار الدخول بحلقات حمرا وبعدها السيستم بيتبني قطعة قطعة (lav-enter) */
.lav-piece{animation:lavPieceOut .62s cubic-bezier(.5,0,.75,.3) var(--d,0s) both}@keyframes lavPieceOut{to{opacity:0;transform:translate(var(--dx,0),var(--dy,0)) scale(.9) rotate(var(--r,0deg));filter:blur(8px)}}
.lav-ring{position:fixed;left:var(--x);top:var(--y);z-index:50;width:40px;height:40px;margin:-20px 0 0 -20px;border:2px solid var(--lav-primary);border-radius:50%;pointer-events:none;animation:lavRing 1.1s cubic-bezier(.2,.7,.3,1) var(--d,0s) both}@keyframes lavRing{from{opacity:.4;transform:scale(.2)}to{opacity:0;transform:scale(48)}}
.lav-veil{position:fixed;inset:0;z-index:40;background:var(--lav-bg);pointer-events:none;animation:lavFade .5s ease-in .55s both}
@keyframes lavCenterIn{from{opacity:0;transform:translateY(-14px) scale(.8);filter:blur(5px)}}
@keyframes lavRise{from{opacity:0;transform:translateY(22px) scale(.97);filter:blur(7px)}}
/* خانة كلمة المرور: نص مقنّع فالمتصفح مابيعرضش يحفظها */
input[data-secret]{-webkit-text-security:disc}
/* قايمة تشيك: صناديق في عمودين، والنص بيلف */

.lav-section-title{font-size:var(--lav-font-base);color:var(--lav-primary);padding-bottom:6px;margin:14px 0 8px;border-bottom:1px solid var(--lav-border)}.lav-section-title:nth-child(1 of :not([hidden])){margin-top:0}/* الملاحظات + رسائل التحقق والنجاح والخطأ + حالات التحميل/الفراغ/منع الصلاحية */
/* خطوات بالترتيب (طلب التأسيس، مستند العميل): المنتهية علامة صح، والحالية بلون السيستم */
.lav-steps{display:grid;grid-template-columns:repeat(var(--lav-steps,4),minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}

.lav-steps .is-done{color:var(--lav-text)}
.lav-steps .is-cur{color:var(--lav-primary);font-weight:var(--lav-w-strong)}
.lav-steps button{all:unset;display:contents;cursor:pointer}
@media (max-width:599px){.lav-steps{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:12px}}
/* البلاك ليست: شريط أحمر بيومض تحت عنوان الصفحة */

@keyframes lavBlacklistBlink{0%,100%{background:var(--lav-error-bg);box-shadow:0 0 0 0 transparent}50%{background:var(--lav-error-blink);box-shadow:0 0 0 4px var(--lav-error-blink)}}

.lav-note>svg,.lav-note .lav-ic{width:18px;height:18px;flex-shrink:0;margin-top:1px}.lav-note.is-info{background:var(--lav-soft3);color:var(--lav-note-info-text);border-color:var(--lav-note-info-border)}.lav-note.is-warn{background:var(--lav-warning-bg);color:var(--lav-warning);border-color:var(--lav-warn-border)}.lav-note.is-ok{background:var(--lav-success-bg);color:var(--lav-success);border-color:var(--lav-ok-border2)}.lav-note.is-err{background:var(--lav-error-bg);color:var(--lav-error);border-color:var(--lav-err-border2)}.lav-note.is-loading{background:var(--lav-soft);color:var(--lav-muted);border-color:var(--lav-border)}.lav-note.is-empty{background:var(--lav-note-empty-bg);color:var(--lav-muted);border:1px dashed var(--lav-note-empty-border)}
/* تنبيه بزرار في آخره (تاريخ قرب ينتهي + «تحديث»)، ونص مستند طويل يتقري جوه نافذة (إقرار) */

.lav-doc-text{max-height:44vh;overflow:auto;padding:12px 14px;border:1px solid var(--lav-border);border-radius:var(--lav-radius-sm);background:var(--lav-bg);color:var(--lav-text);line-height:1.9;font-size:var(--lav-font-base)}.lav-doc-text ol{margin:6px 0 0;padding-inline-start:22px}.lav-loading{display:block;min-height:142px;margin:6px 0;border-radius:var(--lav-radius-sm);background:linear-gradient(90deg,transparent 35%,var(--lav-surface) 50%,transparent 65%) 0 0/300% 100%,linear-gradient(var(--lav-border),var(--lav-border)) 0 0/100% 18px no-repeat,repeating-linear-gradient(var(--lav-soft) 0 14px,transparent 14px 31px);animation:lavShimmer 1.4s linear infinite}.lav-loading.is-line{display:inline-block;width:min(220px,100%);min-height:14px;margin:0;vertical-align:middle;background:linear-gradient(90deg,var(--lav-soft) 35%,var(--lav-surface) 50%,var(--lav-soft) 65%) 0 0/300% 100%}.lav-spinner{width:18px;height:18px;border:2.5px solid var(--lav-border);border-top-color:var(--lav-primary);border-radius:50%;animation:lavSpin .7s linear infinite;flex-shrink:0}@keyframes lavSpin{to{transform:rotate(360deg)}}.lav-empty{text-align:center;color:var(--lav-muted);background:var(--lav-note-empty-bg);border:1px dashed var(--lav-note-empty-border);border-radius:var(--lav-radius-sm);font-size:var(--lav-table-font);padding:16px;line-height:var(--lav-line-height);margin:12px 0}.lav-empty.is-error,.lav-empty.err{color:var(--lav-error);background:var(--lav-error-bg);border:1px solid var(--lav-err-border2)}.lav-login-msg{font-size:var(--lav-font-base);text-align:center;margin-top:10px;padding:11px 14px;border-radius:var(--lav-radius-sm);line-height:var(--lav-line-height);background:var(--lav-ok-bg2);color:var(--lav-save-dark);border:1px solid var(--lav-ok-border2);animation:lavMsgIn .22s ease}.lav-login-msg:empty{display:none;padding:0;border:0;margin:0}.lav-login-msg.err{background:var(--lav-err-bg3);color:var(--lav-error);border-color:var(--lav-err-border2)}.lav-login-msg.info{background:var(--lav-warn-bg3);color:var(--lav-warning);border-color:var(--lav-warn-border)}@keyframes lavMsgIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}/* النوافذ المنبثقة */
/* ===== رسائل التنبيه (Toast) — تعريف واحد لكل السيستم =====
   منطق واحد: تظهر أعلى منتصف الشاشة، مقاس واحد ثابت لكل الرسائل، والنص الطويل يكمل
   في سطر ثانٍ داخل نفس المقاس، وشريط جانبي بلون نوع الرسالة (نجاح/فشل/تنبيه/معلومة).
   الشكل من كروت السيستم نفسها: نفس السطح والحدود ونصف القطر والظل — بلا ثيم داكن. */
.lav-toast-ic svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.lav-toast-tx{min-width:0}.lav-toast-ms{font-size:var(--lav-font-small);color:var(--lav-muted);line-height:var(--lav-line-height);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lav-toast-x:hover{background:var(--lav-soft)}.lav-toast.is-ok,.lav-message-modal.is-ok .lav-modal{border-inline-end-color:var(--lav-success)}.lav-toast.is-ok .lav-toast-ic,.lav-message-modal.is-ok .lav-toast-ic{background:var(--lav-ok-bg);color:var(--lav-success)}.lav-toast.is-err,.lav-message-modal.is-err .lav-modal{border-inline-end-color:var(--lav-error)}.lav-toast.is-err .lav-toast-ic,.lav-message-modal.is-err .lav-toast-ic{background:var(--lav-error-bg);color:var(--lav-error)}.lav-toast.is-warn,.lav-message-modal.is-warn .lav-modal{border-inline-end-color:var(--lav-warning)}.lav-toast.is-warn .lav-toast-ic,.lav-message-modal.is-warn .lav-toast-ic{background:var(--lav-warning-bg);color:var(--lav-warning)}.lav-toast.is-info,.lav-message-modal.is-info .lav-modal{border-inline-end-color:var(--lav-transfer)}.lav-toast.is-info .lav-toast-ic,.lav-message-modal.is-info .lav-toast-ic{background:var(--lav-transfer-soft);color:var(--lav-transfer)}.lav-toast.is-out{opacity:0;transform:translateY(-6px);transition:opacity .18s ease,transform .18s ease}@keyframes lavToastIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media (max-width:599px){.lav-toast-ms{-webkit-line-clamp:3}}
/* ===== مكتبة الأيقونات الموحّدة =====
   أسلوب واحد Outline بسمك خط واحد، والأيقونة داخل مربع مدوّر بخلفية خفيفة من لون دلالتها. */
/* لون الأيقونة الدلالي بلا مربع (داخل الأزرار والجداول ورؤوس الأقسام) */
/* الأيقونات غير المصنّفة داخل المحتوى والنوافذ تأخذ نفس العقد (بلا !important وبلا ملف ثانٍ) */
#lav_content svg:not(.lav-chart-svg),.lav-modal-ov svg:not(.lav-chart-svg){width:var(--lav-ic-size);height:var(--lav-ic-size);fill:none;stroke:currentColor;stroke-width:var(--lav-ic-stroke);stroke-linecap:round;stroke-linejoin:round}.lav-i--neutral{color:var(--lav-muted)}.lav-i--brand{color:var(--lav-primary)}.lav-i--ok{color:var(--lav-success)}.lav-i--warn{color:var(--lav-warning)}.lav-i--err{color:var(--lav-error)}.lav-i--info{color:var(--lav-transfer)}.lav-i--indigo{color:var(--lav-ic-indigo)}.lav-i--teal{color:var(--lav-ic-teal)}.lav-i--violet{color:var(--lav-ic-violet)}.lav-i--cyan{color:var(--lav-ic-cyan)}.lav-ui-table td:has(>.lav-act),.lav-ui-table [data-lav-word]{white-space:nowrap}.lav-ui-table [data-lav-empty]{display:none}.lav-details-bar{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--lav-action-gap)}.lav-ic--neutral{background:var(--lav-soft);color:var(--lav-muted)}.lav-ic--brand{background:var(--lav-primary-soft);color:var(--lav-primary)}.lav-ic--ok{background:var(--lav-ok-bg);color:var(--lav-success)}.lav-ic--warn{background:var(--lav-warning-bg);color:var(--lav-warning)}.lav-ic--err{background:var(--lav-error-bg);color:var(--lav-error)}.lav-ic--info{background:var(--lav-transfer-soft);color:var(--lav-transfer)}.lav-ic--indigo{background:var(--lav-ic-indigo-bg);color:var(--lav-ic-indigo)}.lav-ic--teal{background:var(--lav-ic-teal-bg);color:var(--lav-ic-teal)}.lav-ic--violet{background:var(--lav-ic-violet-bg);color:var(--lav-ic-violet)}.lav-ic--cyan{background:var(--lav-ic-cyan-bg);color:var(--lav-ic-cyan)}.lav-ic--amberd{background:var(--lav-ic-amberd-bg);color:var(--lav-ic-amberd)}.lav-ic--orange{background:var(--lav-ic-orange-bg);color:var(--lav-ic-orange)}.lav-ic--pink{background:var(--lav-ic-pink-bg);color:var(--lav-ic-pink)}.lav-modal{position:relative;margin:0;box-sizing:border-box;background:var(--lav-surface);border:1px solid var(--lav-border);border-radius:var(--lav-dialog-radius);width:min(var(--lav-modal-max,var(--lav-dialog-message)),100%);max-width:100%;max-height:calc(100dvh - 32px);box-shadow:var(--lav-shadow);overflow:hidden;animation:lavPop .18s ease;display:flex;flex-direction:column;outline:0}
.lav-modal.lavco-partner-dialog{--lav-modal-max:var(--lav-dialog-form)}.lav-modal.lav-receipt-modal,.lav-modal.lav-details{--lav-modal-max:var(--lav-dialog-data)}.lav-modal.lav-details-wide{--lav-modal-max:var(--lav-dialog-wide)}.lav-modal.lav-details-form{--lav-modal-max:var(--lav-dialog-form)}
.lav-modal-b{min-height:0;min-width:0;overflow-wrap:anywhere;padding:var(--lav-dialog-padding);font-size:var(--lav-font-base);color:var(--lav-text);line-height:var(--lav-line-height);white-space:normal;overflow:auto}/* نافذة التفاصيل الموحّدة — أعرض من نافذة الرسالة لأنها بتشيل جداول */
.lav-details .lav-modal-b>table,.lav-details .lav-modal-b .lav-ui-table{width:100%}.lav-modal-input{width:100%;margin-top:var(--lav-dialog-gap)}.lav-modal-close{width:32px;height:32px;min-height:32px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--lav-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-section);line-height:1}.lav-modal-close:hover{background:var(--lav-soft);color:var(--lav-text)}@keyframes lavFade{from{opacity:0}to{opacity:1}}@keyframes lavPop{from{transform:scale(.97);opacity:.6}to{transform:scale(1);opacity:1}}.lav-dialog-card .lav-btn{min-height:var(--lav-btn-h);height:auto;line-height:var(--lav-line-height);white-space:normal}.lav-dialog-card .lav-tbl-wrap{min-width:0;max-width:100%}/* قفل الصفحة أثناء الحفظ */
.lav-busy-ov.show{display:flex}.lav-busy-box{display:flex;flex-direction:column;align-items:center;gap:10px;background:var(--lav-surface);border:1px solid var(--lav-border);border-radius:var(--lav-radius);box-shadow:var(--lav-shadow);padding:22px 30px;max-width:80%}.lav-busy-spin{width:30px;height:30px}.lav-busy-txt{font-size:var(--lav-font-base);color:var(--lav-text)}/* اللوحة الجانبية (Drawer) — تنزلق من جهة البداية (يمين في RTL) كما في المرجع */
.lav-drawer{min-width:0;max-width:100%;width:min(var(--lav-drawer-w),100vw);height:100%;background:var(--lav-surface);border-inline-end:1px solid var(--lav-border);box-shadow:var(--lav-shadow);display:flex;flex-direction:column;animation:lavSlideIn .2s ease;direction:rtl}@keyframes lavSlideIn{from{transform:translateX(30px);opacity:.6}to{transform:none;opacity:1}}/* سجل النشاط */
/* صف شارات: كل بيان في شارة لوحده، والشارة الأطول من الصف بتنزل سطر */.lav-badge-row>.lav-badge{max-width:100%;height:auto;min-height:var(--lav-badge-h);white-space:normal;line-height:var(--lav-line-height)}/* الفورمز المشتركة */

/* شبكة النماذج الموحّدة (كل السيستم): أعمدة متساوية ثابتة حسب العرض — 4 / 3 / 2 / 1 — وداخل النوافذ واللوحات 2 ثم 1.
   كل حقل خلية واحدة؛ النص الطويل صف كامل؛ لا امتدادات جزئية تكسر الاستواء. */
@media (max-width:1279px){body{--lav-form-cols:3}}

@media (max-width:959px){body{--lav-form-cols:2}}

@media (max-width:599px){body{--lav-form-cols:1}}
.lav-modal,.lav-drawer{--lav-form-cols:3}
@media (max-width:959px){.lav-modal,.lav-drawer{--lav-form-cols:2}}

@media (max-width:599px){.lav-modal,.lav-drawer{--lav-form-cols:1}}
.lav-form-grid,.lavcu-form,.lavrg-custrow3,.lavc-linefields,.opr-form,.lavco-grid,.lavco-partner-grid,.lavco-doc-grid,.lavrg-paygrid,.p12-grid3,.rpt-f{display:grid;grid-template-columns:repeat(var(--lav-form-cols),minmax(0,1fr));gap:var(--lav-gap);align-items:end;width:100%;min-width:0}.lav-form-grid>*,.lavcu-form>*,.opr-form>*,.lavco-grid>*,.p12-grid3>*,.rpt-f>*{min-width:0}:is(.lav-form-grid,.opr-form)>label{display:flex;flex-direction:column;gap:var(--lav-label-gap);min-width:0}:is(.lav-form-grid,.opr-form)>label>span:first-child{color:var(--lav-muted);font-size:var(--lav-font-small)}:is(.lav-form-grid,.opr-form)>label.wide{grid-column:1/-1}.lav-form-grid>.lav-f-full,.lavcu-form>label:has(textarea),.opr-form>:has(textarea),.lavco-grid>:has(textarea){grid-column:1/-1}.lav-form-grid textarea,.lavcu-form textarea,.opr-form textarea,.lavco-grid textarea{width:100%}.lav-form-grid>.lav-btn,.lavco-grid>.lav-btn{justify-self:start}.lav-form-grid+.lav-form-grid,.lavco-grid+.lavco-grid{margin-top:var(--lav-gap)}
/* خانة بعرض عمودين (العنوان مثلاً) — على الموبايل بعرض الصف */
@media (min-width:600px){:is(.lav-form-grid,.lavco-grid)>.lav-f-2{grid-column-end:span 2}}
/* عنوان قسم جوه الفورم: المسافة من فجوة الجريد نفسها */
.lav-form-grid>.lav-section-title{grid-column:1/-1;margin:6px 0 0}.lav-form-grid>.lav-section-title:first-child{margin-top:0}
/* علامة الخانة الإجبارية جنب اسمها */
:is(.lav-form-grid,.opr-form)>label>span:first-child>i{color:var(--lav-primary);font-style:normal}

.lav-pick{border:1px solid var(--lav-border);border-radius:var(--lav-radius-sm);overflow:auto;max-height:200px;margin-top:5px}.lav-pick-tbl{width:100%;border-collapse:collapse;font-size:var(--lav-table-font)}.lav-pick-tbl th{position:sticky;top:0;background:var(--lav-note-empty-bg);color:var(--lav-muted);font-size:var(--lav-table-font);padding:var(--lav-table-cell-pad);text-align:start}.lav-pick-tbl td{padding:var(--lav-table-cell-pad);border-bottom:1px solid var(--lav-border);cursor:pointer}.lav-pick-tbl tr:hover td{background:var(--lav-surface-2)}.opr-pick-tbl tr.is-sel td,.lav-pick-tbl tr.is-sel td{background:var(--lav-primary-soft);box-shadow:inset 3px 0 0 var(--lav-primary)}.opr-pick-tbl tr.is-off td,.lav-pick-tbl tr.is-off td{color:var(--lav-muted);background:var(--lav-note-empty-bg);cursor:not-allowed}.lav-note.is-rows{display:block}.lav-btn,button,input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select{min-height:var(--lav-touch-min)}.lav-modal-close,.lav-btn-xs{min-height:0}
@media (prefers-reduced-motion:reduce){.lav-btn{transition:none}.lav-modal,.lav-modal-ov,.lav-login-msg,.lav-drawer,.lav-piece,.lav-ring,.lav-veil{animation:none}}
/* القائمة الجانبية القديمة (غير مستخدمة في القشرة الحالية — تُترك للتوافق فقط) */
/* ============================================================
   الصفحة الرئيسية — ترحيب + مؤشرات + بطاقات (تخطيط المرجع، بيانات حقيقية فقط)
   ============================================================ */
/* صورة الرئيسية الأصلية (استُعيدت 20 Sep 2026): كانت مضمّنة base64 داخل CSS في النسخة السابقة،
   الآن ملف أصول حقيقي assets/home-hero.webp يُشحن في الجذرين. الخلفية فاتحة كما هي — بلا ثيم داكن. */
.lavhm-hero-l{position:relative;z-index:1;display:flex;flex-direction:column;gap:2px;min-width:0}/* «رسالة اليوم» centred on the hero image */
.lavhm-msg{position:absolute;z-index:1;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:12px 22%;text-align:center;pointer-events:none}.lavhm-msg-t svg{width:16px;height:16px;flex:none;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linejoin:round}.lavhm-row{display:grid;gap:var(--lav-gap);margin-bottom:var(--lav-gap)}.lavhm-row.two{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.lavhm-card-link:hover{text-decoration:underline}.lavhm-task:last-child{border-bottom:0}.lavhm-task:hover .tx{color:var(--lav-primary)}.lavhm-task .ic svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.lavhm-task .cnt.is-hot{background:var(--lav-primary-soft);color:var(--lav-primary)}.lavhm-task svg.chev{width:14px;height:14px;stroke:var(--lav-muted3);fill:none;stroke-width:2;flex:none;transform:scaleX(-1)}.lavhm-qa{display:grid;grid-template-columns:repeat(var(--qa-cols,4),minmax(0,1fr));gap:var(--lav-gap)}.lavhm-qa a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:var(--lav-surface);border:1px solid var(--lav-border);border-radius:var(--lav-radius);padding:16px 8px;text-decoration:none;min-width:0;color:var(--lav-text);transition:border-color .12s}.lavhm-qa a:hover{border-color:var(--lav-err-border);background:var(--lav-primary-soft)}.lavhm-qa a svg{width:22px;height:22px;stroke:var(--lav-primary);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.lavhm-qa a span{font-size:var(--lav-font-small);text-align:center;line-height:1.3}

/* ============================================================
   الطباعة — قواعد ورقية (البيانات والحقول القانونية بلا تغيير)
   ============================================================ */
@media print{body{background:#fff;color:#000}.lav-btn,.lav-filters-bar,.lav-modal-ov,.lav-busy-ov{display:none}.lav-page-card,.lav-card{box-shadow:none;border-color:#ccc}th,td{border-color:#ccc}}

/* ============================================================
   التجاوب: 1024 (لوحي) — 900 (تنقل متجاوب من نفس خريطة المراكز) — 768 — 480
   ============================================================ */
@media (max-width:1024px){.lav-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.lav-kpis>:last-child:nth-child(odd){grid-column:1/-1}}

@media (max-width:1100px){.lavx-logowrap{border-inline-end:0;padding-inline-end:0}/* شريط المراكز يتحوّل إلى درج جانبي (نفس خريطة المراكز + الصفحات الفرعية) */
  }
@media (max-width:900px){.lav-page-head-title{font-size:var(--fs-section)}}

@media (max-width:768px){.lav-kpi{padding:12px}.lav-kpi-num{font-size:var(--fs-section)}.lav-page-card{padding:13px}img,svg,video{max-width:100%}.lav-filters-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.lav-filters-bar>:is(.lav-btn,.lav-actions){grid-column:1/-1;width:100%}.lav-filters-bar>.lav-actions>.lav-btn{flex:1 1 auto}.lav-drawer{width:100%;max-width:100%}}

@media (max-width:600px){.lavhm-msg{position:relative;inset:auto;padding:0;margin-top:14px;width:100%}/* على body لا :root: قيم العقد تُحقن inline على <html> من الخادم، وقيمة body تسبقها لكل ما بداخلها */
  body{--lav-btn-h:38px;--lav-field-h:38px;--lav-icon-btn:38px;--lav-tab-h:36px;--lav-touch-min:38px;--lav-act-w:36px;--lav-act-h:32px}.lav-modal-close{width:var(--lav-icon-btn);height:var(--lav-icon-btn);min-height:var(--lav-icon-btn)}.lav-field:not(select),.lav-modal-input{font-size:var(--fs-title-sm)}}

@media (max-width:480px){.lavhm-qa{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* customer code lookup (customer-code-lookup.js): code field + search button,identity cards */
/* صف أزرار موحّد: 8px بين أي زرين متجاورين في كل الصفحات */
.lav-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
/* رأس كارت: العنوان في ناحية والأزرار في الناحية التانية */

/* شريط الهوية أعلى الصفحة (اسم الموظف ← كوده وفرعه ووظيفته) — صفحة الموارد البشرية و«خدمتي» */

/* تسجيل الحضور من الموبايل («خدمتي»): كروت ضيقة في النص وزرار كبير */

/* البصمة من الموبايل: الكاميرا بإطار خفيف، وبعد البصمة صورة «بولارويد» بالتحية */

@keyframes lav-punch-flash{from{opacity:1}to{opacity:0}}

.lav-exact-row .lav-btn{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;margin:0}/* search results the user clicks to open (table rows) */
/* تبديل النظام في الشريط العلوي (للمالك) */
.lavx-sysw{position:relative;flex:none}.lavx-sysw-btn{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 11px;border:1px solid var(--lav-border);border-radius:var(--lav-radius-sm);background:var(--lav-surface);color:var(--lav-muted2);font-family:var(--lav-font);font-size:var(--lav-font-small);cursor:pointer;white-space:nowrap}.lavx-sysw-btn svg{width:var(--lav-ic-size-btn);height:var(--lav-ic-size-btn);flex:none}.lavx-sysw-btn:hover{border-color:var(--lav-primary);color:var(--lav-primary)}
.lavx-sysw-btn svg.chev{width:14px;height:14px}.lavx-sysw-menu{position:absolute;inset-inline-start:0;top:calc(100% + 8px);z-index:60;width:272px;border:1px solid var(--lav-border);border-radius:var(--lav-radius);background:var(--lav-surface);box-shadow:var(--lav-shadow);overflow:hidden}.lavx-sysw-row{display:flex;align-items:stretch;border-bottom:1px solid var(--lav-border)}.lavx-sysw-row:last-child{border-bottom:0}.lavx-sysw-item:hover{background:var(--lav-surface-2)}.lavx-sysw-item{display:flex;align-items:center;gap:10px;flex:1;min-width:0;padding:7px 12px;border:0;background:var(--lav-surface);font-family:var(--lav-font);cursor:pointer;text-align:start;
--lav-ic-box:28px;--lav-ic-size:15px;color:var(--lav-text);text-decoration:none}.lavx-sysw-item:focus-visible{outline:0;box-shadow:inset 0 0 0 2px var(--lav-primary)}.lavx-sysw-item .ic{display:inline-flex;align-items:center;justify-content:center;width:var(--lav-ic-box);height:var(--lav-ic-box);border-radius:var(--lav-radius-sm);flex:none}.lavx-sysw-item .ic svg{width:var(--lav-ic-size);height:var(--lav-ic-size);fill:none;stroke:currentColor;stroke-width:var(--lav-ic-stroke);stroke-linecap:round;stroke-linejoin:round}.lavx-sysw-item .t{flex:1;min-width:0;font-size:var(--lav-font-small);color:var(--lav-text);text-align:start;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lavx-sysw-item.is-cur{background:var(--lav-primary-soft)}.lavx-sysw-item.is-cur .ic{box-shadow:0 0 0 1px currentColor}.lavx-sysw-item.is-cur .t{color:var(--lav-primary)}.lavx-sysw-item.is-off{opacity:.5;cursor:default}

/* ===== الطباعة: تعريف واحد للسيستم كله — أي شاشة تتطبع بنفس الشكل =====
   التخصيص متعلّق بـbody عشان يغلب ستايل الصفحات من غير ما نستخدم !important. */
@media print{body .lavx-bell,body .lavx-logout,body .lavx-open-window,body .lavx-sysw,body .printbar,body .lav-btn,body .lav-btn-light,body .lav-btn-neutral,body .lav-btn-save,body [data-lav-filters],body [data-col="actions"],body th.actions,body td.actions{display:none}html,body{background:#fff}body tr,body .lav-card{break-inside:avoid}body thead{display:table-header-group}body a[href]:after{content:""}}
@page{size:A4 portrait;margin:12mm 10mm}

/* إعدادات العقود: شريط المقاسات، جدول البنود، ومعاينة الورقة بعدد صفحاتها */

/* الإيجارات (LAVIDA FINANCIAL): جدول شهور الإيجار — سطور مضغوطة، الشهر المحوّل، آخر 3 شهور في العقد، والفرع اللي عقده خلص */

/* One vertical rhythm for stacked blocks (pages, windows, panes). */
.lav-stack{display:flex;flex-direction:column;gap:var(--lav-gap);min-width:0}.lav-stack>*{margin-block:0;flex-shrink:0}.lav-stack>div:empty{display:none}
/* Icon name on hover / keyboard focus. */
[data-tip]{position:relative}[data-tip]:hover::after,[data-tip]:focus-visible::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);white-space:nowrap;background:var(--lav-surface);color:inherit;border:1px solid currentColor;box-shadow:var(--lav-shadow-soft);font-family:var(--lav-font);font-size:var(--lav-font-small);line-height:1.4;padding:4px 8px;border-radius:var(--lav-radius-sm);pointer-events:none;z-index:5}
/* أزرار آخر عمود في الجدول: الاسم بيفتح لجوّه علشان مايطلعش برّه الكارت أو النافذة */td:last-child>[data-tip]:is(:hover,:focus-visible)::after,td:last-child>*>[data-tip]:is(:hover,:focus-visible)::after{left:auto;right:auto;inset-inline-end:0;transform:none}
/* Charts (lavChart) and report rows. */

.lav-chart-svg{display:block;width:100%;height:auto;font-family:var(--lav-font);overflow:visible;stroke:none}
.lav-chart-svg text{stroke:none;font-weight:var(--lav-w-text)}
.lav-chart .lav-chart-num{direction:ltr;unicode-bidi:embed}
.lav-chart .lav-chart-bar{stroke:none}

.lav-chart-base{stroke:var(--lav-border-3);stroke-width:1}

.lav-chart-cat{font-size:var(--fs-small);fill:var(--lav-text)}

.lav-chart-bar{cursor:pointer}.lav-chart-bar:hover{opacity:.82}

.lav-chart-chg.is-up{fill:var(--lav-success)}.lav-chart-chg.is-down{fill:var(--lav-error)}
.lav-chart-legend{display:flex;flex-wrap:wrap;gap:18px;font-size:var(--lav-font-small);color:var(--lav-muted2)}
.lav-chart-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;background:var(--c);margin-inline-end:6px;vertical-align:-1px}
.lav-chart-legend i.is-line{width:18px;height:3px;border-radius:2px;vertical-align:3px}
.lav-chart-legend i.is-tick{width:18px;height:2px;border-radius:0;vertical-align:4px}
.lav-chart-legend i.is-dash{width:18px;height:0;border-top:2px dashed var(--c);background:none;border-radius:0;vertical-align:4px}

.lav-chg.is-up{color:var(--lav-success)}.lav-chg.is-down{color:var(--lav-error)}
.lav-ui-table td .lav-row-sec{color:var(--lav-primary)}
.lav-ui-table tr:has(.lav-row-sec) td{background:var(--lav-surface-2);text-align:start}
/* E6 — DR-128: net result is an identity-red line, not an error state. */
.lav-report-net{display:flex;align-items:center;justify-content:space-between;gap:var(--lav-gap);padding:12px 16px;border:1px solid var(--lav-err-border);border-inline-start:4px solid var(--lav-primary);border-radius:var(--lav-radius-sm);background:var(--lav-primary-soft);color:var(--lav-primary);font-weight:var(--lav-w-title);font-variant-numeric:tabular-nums}

/* A code that must not break across lines inside a table cell (company code, account code). */
.lav-nowrap{white-space:nowrap}
/* Upload box (all systems): drop, pick or paste one file. Row form: type select + box + action button. */
.lav-drop{flex:1 1 320px;min-width:0;display:flex;align-items:center;justify-content:center;gap:var(--lav-gap);flex-wrap:wrap;min-height:var(--lav-btn-h);padding:6px 12px;border:1px dashed var(--lav-border-2);border-radius:var(--lav-radius);background:var(--lav-surface-2);font-size:var(--lav-table-font);color:var(--lav-muted);cursor:pointer}
.lav-drop:focus-visible,.lav-drop.is-over{border-color:var(--lav-primary);background:var(--lav-primary-soft);outline:0}
.lav-drop.has-file{border-style:solid}.lav-drop.has-file .lav-drop-hint{color:var(--lav-text)}
.lav-drop-t{color:var(--lav-text)}.lav-drop-hint{font-size:var(--lav-font-small)}.lav-drop .lav-btn{margin:0}

.lav-upload-row>.lav-btn{margin:0}
/* Attach-document window (all systems): file, the document's own fields, the form data it carries. */

.lav-doc-view{text-align:center}.lav-doc-view img,.lav-doc-view iframe{max-width:100%;border-radius:var(--lav-radius-sm);border:1px solid var(--lav-border)}.lav-doc-view img{max-height:70vh}.lav-doc-view iframe{width:100%;height:70vh}

/* Form field linked to a document: label line with the document status, the input and its attach (clip) button. */
.lav-fl>.t{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lav-frow .lav-field{flex:1}
.lav-clip{margin:0;flex-shrink:0;width:var(--lav-field-h);height:var(--lav-field-h);padding:0;border:1px solid var(--lav-border);border-radius:var(--lav-radius-sm);background:var(--lav-surface);color:var(--lav-muted);cursor:pointer;transition:.15s;display:inline-flex;align-items:center;justify-content:center}.lav-clip:hover{color:var(--lav-primary);border-color:var(--lav-primary);background:var(--lav-soft)}

.lav-doc-st.ok{color:var(--lav-success)}.lav-doc-st.warn{color:var(--lav-warning)}.lav-doc-st.err{color:var(--lav-error)}.lav-doc-st.pend{color:var(--lav-primary)}
.lav-doc-st .go{color:var(--lav-primary);text-decoration:underline;cursor:pointer;background:none;border:0;padding:0;font:inherit}
/* Full-page stop message (no access / session closed) for LEGAL and FINANCIAL entry pages. */

/* Clickable figure in a report table (opens the entries behind it). */

/* Company switcher in the FINANCIAL header. */

/* Receipts and receipt files (payment-lines.js): the 80 mm receipt on screen, a receipt image or PDF, the hidden print frame. */

/* a titled section inside a details popup */

.lav-print-frame{position:fixed;width:0;height:0;border:0;inset-inline-end:0;bottom:0}
/* Customer code search row: label on top; code + بحث + name + company in one row. */

.lav-cust-search .lav-field{flex:0 1 260px;min-width:170px;margin:0}.lav-cust-search .lav-btn{width:auto;margin:0;display:inline-flex;align-items:center;gap:6px}

/* كود العميل كفلتر في كارت الفلاتر: العنوان في نص السطر والبحث ياخد باقي السطر */

@media (max-width:700px){.lav-cust-search .lav-field{flex:1 1 100%}}

/* الشاشات الضيقة (كارتين جنب بعض): عنوان المؤشر بيكمل على سطرين بدل ما يتقص، وكل الكروت بنفس الارتفاع */
@media (max-width:600px){.lav-kpi-lbl{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.35;min-height:2.7em}}

/* الجداول — تعريف واحد لكل الأنظمة: بعرض الكارت من غير سكرول يمين وشمال.
   الجدول اللي أعمدته ماتساعش مكانه (والموبايل دايمًا) بيتعرض كروت: كل صف كارت، وخاناته «اسم العمود: القيمة» جنب بعض بعدد اللي يساع
   (module-shell.js بيحط data-label من رأس العمود و data-lav-stack). خط الفصل فوق كل خانة، وخط أول صف بيركب على حافة الكارت. */
table:has(>thead){width:100%}
table[data-lav-stack]{display:block}
table[data-lav-stack]>thead{display:none}
table[data-lav-stack]>:is(tbody,tfoot){display:flex;flex-direction:column;gap:8px}

table[data-lav-stack]>:is(tbody,tfoot)>tr:has(>td:only-child){display:block;padding:0;border:0}

table[data-lav-stack]>:is(tbody,tfoot)>tr>td>*{min-width:0}
table[data-lav-stack]>:is(tbody,tfoot)>tr>td:has(.lav-act){flex-wrap:wrap}
table[data-lav-stack]>:is(tbody,tfoot)>tr>td:only-child{display:block;margin:0;padding:0;border:0;text-align:center}

table[data-lav-stack] tbody tr:hover td{background:none}
/* التقييم بالنجوم (تقييمات العملاء) */
.lav-stars i{color:var(--lav-border-2);font-style:normal}
/* شاشات الإعدادات (L12) — نفس التعريف في صفحة الإعدادات ونافذة إعدادات كل صفحة (lavPageSettings) */

.p12-sec-tools .lav-field{width:220px;max-width:100%;font-size:var(--lav-field-font)}
.p12-sec-tools .lav-btn{height:var(--lav-btn-h);font-size:var(--lav-btn-font);width:auto;padding-inline:13px}

.p12-actions .lav-btn{width:auto;padding-inline:16px}

.p12-err-list.is-warn li{border-inline-start-color:var(--lav-warning);background:var(--lav-warning-bg);color:var(--lav-warning)}

.p12-f .lav-field{margin:0}

/* فلتر العمود في الجداول (module-shell.js) */
.lav-cf{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-inline-start:4px;padding:0;border:0;border-radius:var(--lav-radius-sm);background:transparent;color:var(--lav-muted);cursor:pointer;vertical-align:middle}
.lav-cf:hover,.lav-cf.is-on{background:var(--lav-primary-soft);color:var(--lav-primary)}
:is(#lav_content,.lav-modal-ov) .lav-cf svg{width:12px;height:12px;stroke-width:2.2}
.lav-cf-pop{position:fixed;z-index:200010;width:240px;max-width:calc(100vw - 16px);max-height:min(420px,calc(100dvh - 16px));display:flex;flex-direction:column;gap:8px;padding:10px;background:var(--lav-surface);border:1px solid var(--lav-border);border-radius:var(--lav-radius);box-shadow:var(--lav-shadow);font-family:var(--lav-font);font-size:var(--lav-font-small)}
.lav-cf-sort,.lav-cf-foot{display:flex;gap:6px}
.lav-cf-sort>.lav-btn,.lav-cf-foot>.lav-btn{flex:1;height:30px;min-height:30px;padding:0 8px;font-size:var(--lav-font-small)}
.lav-cf-pop>.lav-field{width:100%;height:30px}
.lav-cf-list{flex:1 1 auto;min-height:0;overflow-y:auto;border:1px solid var(--lav-border);border-radius:var(--lav-radius-sm);padding:4px 8px}
.lav-cf-list>label{display:flex;align-items:center;gap:6px;padding:3px 0;color:var(--lav-text);cursor:pointer}
.lav-cf-list>label[hidden]{display:none}
.lav-cf-list input{margin:0;accent-color:var(--lav-primary)}
.lav-cf-all{border-bottom:1px solid var(--lav-border)}

/* ========== 3) session-navigation.css ========== */
/* Navigation/accessibility only. Owner workbook and contract layout untouched. */

.lavx-open-window{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--lav-border,var(--border));border-radius:var(--lav-radius-sm,9px);background:var(--lav-surface,var(--on-color));color:var(--lav-muted2,var(--muted));padding:7px 10px;cursor:pointer;font:inherit;white-space:nowrap}
.lavx-open-window svg{width:17px;height:17px}
.lavx-open-window:focus-visible{outline:2px solid var(--lav-primary,var(--brand));outline-offset:2px}

/* The busy layer sits over the dialogs (home.css .lav-modal-ov z-index 200000). */
.lav-busy-ov{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);
z-index:210000}

/* Topbar icon controls (refresh/notify/bell/logout) share one 36px circular shape defined in home.css. */

/* ========== 4) file-controls.css ========== */
/* File inputs stay focusable and retain validation, form submission and browser picker behavior. */

/* ========== 5) print-kit.css ========== */
/* LAVIDA — الطباعة: تعريف واحد لكل المطبوعات في كل الأنظمة
   (التقارير، الخطابات، الكشوف، المسيرات، عروض الأسعار، طلبات الشركات، الإيصالات). */

body{font-family:"Cairo",sans-serif}

/* جدول بيانات: جوه عرض الورقة، كل عنوان فوق عموده، والتاريخ والأرقام والأكواد (.n) والكلام القصير (.nw) في سطر واحد */
table.pt{width:100%;border-collapse:collapse;table-layout:auto;margin:0}
.pt thead{display:table-header-group}.pt tfoot{display:table-row-group}.pt tr{break-inside:avoid}
.pt th,.pt td{border:1px solid #d5d9df;text-align:center;vertical-align:middle;overflow-wrap:break-word;word-break:normal}
.pt th{background:var(--pt-head,#f3f4f6);color:var(--pt-head-ink,#374151);font-size:6.5pt;font-weight:600;line-height:1.3;padding:3px 4px}
.pt td{font-size:7pt;line-height:1.35;padding:2px 4px;color:#1f2937;unicode-bidi:plaintext}
.pt tbody tr:nth-child(even) td{background:#fafbfc}
.pt .n,.pt .num,.pt .nw{white-space:nowrap;font-variant-numeric:tabular-nums}
.pt td.n,.pt td.num{direction:ltr;unicode-bidi:isolate}
.pt .t{text-align:start}
.pt tfoot td,.pt tr.tot td{background:#f3f4f6;font-weight:600}
/* جدول مستند (طلب، خطاب، عرض سعر، مفردات): خط أكبر شوية؛ وجدول بيان وقيمته (kv) */
.pt.doc th{font-size:8.5pt;padding:4px 8px}.pt.doc td{font-size:9pt;padding:3px 8px}
.pt.kv td{text-align:start}.pt.kv td.k{background:#f8f9fb;color:#6b7280;width:38%}

/* تقرير: العنوان واسم السيستم والفلاتر والأرقام */
.rp-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:7px;margin-bottom:9px;border-bottom:1.5px solid #c62828}
.rp-title{font-size:12.5pt;font-weight:600;color:#1f2937}
.rp-mark{direction:ltr;text-align:left;line-height:1.25}.rp-word{font-size:15pt;letter-spacing:.5px;color:#c62828}.rp-tag{font-size:7.5pt;letter-spacing:.5px;color:#6b7280;margin-left:5px}
.rp-date{font-size:7.5pt;color:#6b7280}
.rp-meta{display:flex;flex-wrap:wrap;border:1px solid #e5e7eb;border-radius:5px;margin-bottom:8px;overflow:hidden}
.rp-meta>div{flex:1 1 0;min-width:90px;padding:4px 9px;border-inline-start:1px solid #e5e7eb}.rp-meta>div:first-child{border-inline-start:0}
.rp-meta small,.rp-kpi small{display:block;font-size:7pt;color:#6b7280}.rp-meta b{font-weight:500;font-size:8.5pt}
.rp-kpis{display:flex;gap:6px;margin-bottom:9px}.rp-kpi{flex:1 1 0;border:1px solid #e5e7eb;border-radius:5px;background:#f8f9fb;padding:4px 9px;text-align:center}
.rp-kpi b{font-size:10.5pt;font-weight:600;font-variant-numeric:tabular-nums}.rp-kpi.ok b{color:#15803d}.rp-kpi.err b{color:#c62828}
.rp-sec{font-size:8.5pt;font-weight:600;color:#c62828;margin:9px 0 4px}

/* ورق الشركة: الاسم والسجل والبطاقة الضريبية واللوجو والخط الأحمر فوق كل صفحة (الفروع والهوت لاين تحت من @page) */
.pg{width:100%;border-collapse:collapse}.pg>thead>tr>td,.pg>tbody>tr>td{padding:0}.pg>thead>tr>td{padding:9mm 0 3mm}
.lh{display:flex;justify-content:space-between;align-items:center}.lh .ar{display:flex;flex-direction:column;font-size:8pt;line-height:1.5;color:#4b5563}.lh .ar b{font-size:11.5pt;color:#111}.lh img{height:12mm}
.lh-bar{height:1mm;margin-top:2.5mm;background:linear-gradient(to left,#c62828 70%,#6d6e71 70%)}
.wm{position:fixed;top:105mm;left:22mm;width:140mm;opacity:.05;z-index:-1}

/* رأس خطابات الكيان (من «الكيانات»): اللوجو شمال جنب البيانات (.elh) أو البيانات شمال واللوجو يمين (.elh.r) */
.elh{display:flex;align-items:center;gap:6mm;direction:ltr;margin-bottom:8mm}.elh.r{justify-content:space-between}
.elh img{height:30mm;max-width:80mm;object-fit:contain}.elh-t{line-height:1.55;font-size:9.5pt;color:#111}
.elh-t b{display:block;font-size:15pt;font-weight:400;letter-spacing:.3px}.elh-t .mail{color:#1d4ed8;text-decoration:underline}

/* شعار السيستم (مطبوعات الموارد البشرية — من غير بيانات الشركات) */
.brand{display:flex;align-items:baseline;gap:5px;direction:ltr;white-space:nowrap}
.brand b{color:#c62828;font-size:17pt;font-weight:400;letter-spacing:.5px;line-height:1}.brand span{color:#6b7280;font-size:7.5pt;letter-spacing:.6px}

/* مستند السيستم (طلب الشركة، استلام وتسليم المستندات، عرض تكلفة التأسيس): الشريط الأحمر والعنوان والكروت */
body.doc{margin:0;padding:10mm 9mm;background:#fff;color:#1f2937;font-size:12px;line-height:1.5;direction:rtl}
body.doc *{box-sizing:border-box}
@media print{body.doc{padding:8mm 7mm}.printbar{display:none}}
.lvdoc{max-width:760px;margin:0 auto;display:flex;overflow:hidden;border:1px solid #e6e8ec;border-radius:12px}
.lvdoc>.lv-bar{width:7px;background:#c62828;flex-shrink:0}.lvdoc>.lv-body{flex:1;padding:20px 26px}
.lvdoc .head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid #e6e8ec}
.lvdoc .ttl{font-size:18px;color:#1f2937;font-weight:400}.lvdoc .ttl span{color:#c62828}
.lvdoc .dt{font-size:10.5px;color:#6b7280;background:#f8f9fb;border:1px solid #e6e8ec;padding:5px 12px;border-radius:20px;direction:ltr}
.lvdoc .cards{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.lvdoc .cc{background:#f8f9fb;border:1px solid #e6e8ec;border-radius:9px;padding:9px 13px;flex:1;min-width:120px}.lvdoc .cc.f2{flex:2;min-width:160px}.lvdoc .cc.full{flex-basis:100%}
.lvdoc .cc .k{color:#6b7280;font-size:9.5px;margin-bottom:3px}.lvdoc .cc .v{color:#1f2937;font-size:13px}
.lvdoc .sec{font-size:11px;color:#c62828;font-weight:400;margin:14px 0 7px}
.lvdoc .badge{display:inline-block;background:#fdecec;color:#c62828;font-size:10.5px;padding:3px 11px;border-radius:14px;margin-bottom:8px}
.lvdoc .summary{background:#f8f9fb;border:1px solid #e6e8ec;border-radius:10px;padding:10px 15px;margin-bottom:12px}
.lvdoc .srow{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid #e6e8ec;font-size:12.5px}.lvdoc .srow:last-child{border-bottom:0}.lvdoc .srow .k{color:#6b7280}.lvdoc .srow .v{direction:ltr}
.lvdoc .total{display:flex;justify-content:space-between;align-items:center;background:#c62828;border-radius:10px;padding:12px 20px;margin:12px 0}
.lvdoc .total .k{color:#fff;font-size:13px}.lvdoc .total .v{color:#fff;font-size:20px;font-weight:400;direction:ltr}
.lvdoc .sum{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.lvdoc .sum div{flex:1;min-width:120px;background:#f8f9fb;border:1px solid #e6e8ec;border-radius:9px;padding:8px 12px}
.lvdoc .sum small{display:block;color:#6b7280;font-size:9.5px}.lvdoc .sum strong{font-weight:400;font-size:13px;direction:ltr;display:inline-block}
.lvdoc .pcard{border:1px solid #e6e8ec;border-radius:9px;padding:8px 12px;margin-bottom:8px;background:#f8f9fb;break-inside:avoid}.lvdoc .pcard-h{font-size:11.5px;color:#c62828;margin-bottom:4px}
.lvdoc .note{white-space:pre-line;font-size:11px;padding:8px 12px;background:#f8f9fb;border:1px solid #e6e8ec;border-radius:9px}
.lvdoc .info .ir{display:flex;gap:9px;padding:7px 0;border-bottom:1px solid #e6e8ec;font-size:11.5px;line-height:1.65}.lvdoc .info .lbl{color:#c62828;min-width:115px}
.lvdoc .nrow{display:flex;gap:8px;padding:3px 0;font-size:11px;line-height:1.5}.lvdoc .dot{color:#c62828;margin-top:5px}
.lvdoc .decl{margin-top:12px;font-size:11px;color:#374151;line-height:1.8}
.lvdoc .sig{display:flex;gap:18px;margin-top:22px}.lvdoc .sig div{flex:1;border-top:1px solid #9ca3af;padding-top:6px;color:#6b7280;font-size:10.5px;text-align:center}
.printbar{position:fixed;top:0;left:0;right:0;background:#c62828;color:#fff;padding:9px;text-align:center;z-index:9}
.printbar button{background:#fff;color:#c62828;border:0;padding:7px 20px;border-radius:8px;font-family:Cairo,sans-serif;cursor:pointer}

/* ========== 6) الأيقونات — نفس مجموعة LAV_ICONS في module-shell.js (55 أيقونة) ==========
   الاستخدام: <i class="lav-ic lav-ic-approve"></i> — اللون من currentColor، والحجم من font-size.
   ألوان الدلالة (tone): brand, cyan, err, indigo, info, neutral, ok, teal, violet, warn */
i.lav-ic{display:inline-block;width:1em;height:1em;vertical-align:-.125em;background-color:currentColor;-webkit-mask:var(--lav-ic) center/contain no-repeat;mask:var(--lav-ic) center/contain no-repeat}
 /* tone: info */
 /* tone: indigo */
 /* tone: indigo */
 /* tone: violet */
 /* tone: info */
 /* tone: warn */
 /* tone: err */
 /* tone: ok */
 /* tone: err */
 /* tone: indigo */
 /* tone: err */
 /* tone: err */
 /* tone: err */
 /* tone: err */
 /* tone: teal */
 /* tone: teal */
 /* tone: violet */
 /* tone: info */
 /* tone: brand */
 /* tone: neutral */
 /* tone: cyan */
 /* tone: violet */
 /* tone: cyan */
 /* tone: indigo */
 /* tone: err */
 /* tone: violet */
 /* tone: teal */
 /* tone: neutral */
 /* tone: neutral */
 /* tone: violet */
 /* tone: ok */
 /* tone: violet */
 /* tone: indigo */
 /* tone: teal */
 /* tone: indigo */
 /* tone: warn */
 /* tone: err */
 /* tone: ok */
 /* tone: warn */
 /* tone: violet */
 /* tone: err */
 /* tone: ok */
 /* tone: err */
 /* tone: neutral */
 /* tone: neutral */
 /* tone: neutral */
 /* tone: neutral */
 /* tone: err */
 /* tone: neutral */
 /* tone: teal */
 /* tone: indigo */
 /* tone: teal */
 /* tone: neutral */
 /* tone: neutral */
 /* tone: ok */
/* بطاقة ملخص السجل (تفاصيل طلب/مستند): رأس بالنوع والرقم والمبلغ، ثم حقول (العنوان فوق القيمة) في شبكة */

.lav-summary-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px;background:var(--lav-primary-soft);border-bottom:1px solid var(--lav-border)}
.lav-summary-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}

.lav-summary-amount{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}

.lav-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}

.lav-summary-grid>div:nth-child(3n/**/+1){border-inline-start:0}

.lav-summary-grid>.is-wide{grid-column:1/-1;border-inline-start:0}
.lav-summary-grid{margin-bottom:-1px}.lav-summary-grid dd code,.lav-summary-grid dd .lav-nowrap{white-space:nowrap}
@media (max-width:719px){.lav-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lav-summary-grid>div:nth-child(3n/**/+1){border-inline-start:1px solid var(--lav-border)}.lav-summary-grid>div:nth-child(2n/**/+1){border-inline-start:0}.lav-summary-amount{align-items:flex-start}}
/* الجداول على الموبايل (كروت): التسمية فوق القيمة في شبكة عمودين — ممنوع «التسمية ……… القيمة» المتباعدة في صف واحد. أزرار الإجراءات سطر كامل في آخر الكارت. */
table[data-lav-stack]>:is(tbody,tfoot)>tr{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));column-gap:24px;padding:0 12px 2px;border:1px solid var(--lav-border);border-radius:var(--lav-radius-sm);background:var(--lav-surface);
grid-template-columns:repeat(auto-fill,minmax(min(100%,140px),1fr));column-gap:16px;padding:2px 14px 4px}
table[data-lav-stack]>:is(tbody,tfoot)>tr>td{display:flex;align-items:center;gap:6px;min-width:0;min-height:30px;margin-top:-1px;padding:4px 0;border:0;border-top:1px solid var(--lav-border);text-align:end;
flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:2px;padding:8px 0;text-align:start;font-weight:600;overflow-wrap:anywhere}
table[data-lav-stack]>:is(tbody,tfoot)>tr>td[data-label]:not([data-label=""])::before{content:attr(data-label);flex:0 0 auto;max-width:45%;margin-inline-end:auto;color:var(--lav-muted);font-size:var(--lav-font-small);text-align:start;
max-width:none;margin:0;font-weight:var(--lav-w-text)}
table[data-lav-stack]>:is(tbody,tfoot)>tr>td:has(.lav-acts,.lav-act){grid-column:1/-1;flex-direction:row;align-items:center;justify-content:flex-end}
table[data-lav-stack]>:is(tbody,tfoot)>tr>td:has(.lav-acts,.lav-act)::before{margin-inline-end:auto}
table[data-lav-stack]>:is(tbody,tfoot)>tr>td:first-child{grid-column:1/-1;border-top:0;font-size:var(--lav-font-title);color:var(--lav-text)}

/* ========== 7) صفحة الدخول وتجهيز المنصة ========== */
/* صفحة الدخول — نفس التوكنز والمكونات؛ كارت الدخول باسم المجموعة ولوحة تعريف النظام جنبه على الشاشات الواسعة (يختلف الكلام فقط من نظام لآخر) */
.lav-login{min-height:100dvh;margin:0;background:
  radial-gradient(ellipse 40% 55% at var(--lav-start) 0,var(--lav-primary-soft) 0,transparent 100%),
  radial-gradient(ellipse 50% 70% at var(--lav-start) 0,var(--lav-primary-soft) 0,transparent 100%),
  repeating-linear-gradient(0deg,var(--lav-border) 0 1px,transparent 1px 44px),
  repeating-linear-gradient(90deg,var(--lav-border) 0 1px,transparent 1px 44px),
  var(--lav-bg)}
.lav-login-wrap{min-height:100dvh;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;align-content:center;gap:40px 120px;padding:24px}
.lav-login-bar{display:block;width:40px;height:2px;border-radius:1px;background:var(--lav-primary)}

/* لوحة التعريف: شعار النظام، العنوان، شرطة حمراء، سطر التعريف، ثم الأرقام */
.lav-login-side{flex:0 1 340px;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:14px;text-align:start}
.lav-login-side .lavx-logowrap{flex-direction:column;align-items:flex-start;gap:2px;padding:0;border:0;margin-bottom:10px}
.lav-login-side .lavx-logo-word{font-size:var(--fs-page);letter-spacing:3px}
.lav-login-side .lavx-logo-tag{letter-spacing:4px;font-size:var(--fs-small)}
.lav-login-side .t{margin:0;font-size:var(--fs-kpi);font-weight:var(--lav-w-text);color:var(--lav-text);line-height:1.35;text-wrap:balance}
.lav-login-side .lav-login-bar{height:3px}
.lav-login-side .s{margin:0;font-size:var(--lav-font-base);color:var(--lav-muted);line-height:var(--lav-line-height)}

/* الكارت: حافة علوية حمراء، شعار المجموعة فوق شرطة حمراء قصيرة، ثم النموذج */
.lav-login-card{flex:0 1 420px;min-width:0;background:var(--lav-surface);border:1px solid var(--lav-border);border-top:3px solid var(--lav-primary);border-radius:var(--lav-dialog-radius);box-shadow:var(--lav-shadow);padding:24px 28px 26px;display:flex;flex-direction:column;gap:22px}
.lav-login-brand{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:10px;padding-bottom:16px;border-bottom:1px solid var(--lav-border)}
.lav-login-brand .lavx-logowrap{grid-column:2;flex-direction:column;align-items:center;gap:6px;padding:0;border:0}
.lav-login-brand .lavx-logo-word{letter-spacing:3px}
.lav-login-brand .lavx-open-window{grid-column:3}
.lav-login-brand .lavx-logo-tag{letter-spacing:4px;font-size:var(--fs-small)}
.lav-login-head{text-align:center}
.lav-login-head h1{margin:0;font-size:var(--lav-h1)}

.lav-login-head .lav-login-note{margin:0;font-size:var(--lav-font-base);line-height:var(--lav-line-height);color:var(--lav-text)}
.lav-login-head p{margin:2px 0 0;font-size:var(--lav-font-small);color:var(--lav-muted)}
.lav-login-form{display:flex;flex-direction:column;gap:16px}
.lav-login-form>label{display:flex;flex-direction:column;gap:var(--lav-label-gap);font-size:var(--lav-font-base);color:var(--lav-text)}
.lav-login-field{position:relative;display:flex;align-items:center}
.lav-login-field .lav-field{height:42px;min-height:42px;padding-inline-start:40px}
.lav-login-field>svg{position:absolute;inset-inline-start:13px;width:18px;height:18px;pointer-events:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.lav-login-field>svg.is-user{color:var(--lav-primary)}
.lav-login-field>svg.is-lock{color:var(--lav-ic-violet)}

.lav-login-row{display:flex;align-items:center;gap:12px;font-size:var(--lav-font-small)}
.lav-login-row a{color:var(--lav-primary);text-decoration:none}
.lav-login-row a:hover{text-decoration:underline}

.lav-login-foot{margin-top:16px;padding-top:18px;border-top:1px solid var(--lav-border);text-align:center;font-size:var(--lav-font-small);color:var(--lav-muted);direction:ltr}

/* الشاشات الأضيق: لوحة التعريف فوق الكارت بلا أرقام، وعلى الموبايل الكارت وحده */
@media (max-width:1100px){
  .lav-login-wrap{flex-direction:column;flex-wrap:nowrap;gap:28px}
  .lav-login-side{flex:0 0 auto;width:min(100%,420px);align-items:center;text-align:center;gap:10px}
  .lav-login-side .lavx-logowrap{align-items:center}
  .lav-login-side .t{font-size:var(--fs-page)}
  .lav-login-card{flex:0 0 auto;width:min(100%,420px)}
}
@media (max-width:600px){
  .lav-login-wrap{display:block;padding:16px}
  .lav-login-side{display:none}
  .lav-login-card{padding:22px 18px 22px;gap:18px}
}

/* ========== 8) مكونات LAVIDAOSP (P0): الأشرطة، المنتقي المنبثق، ترقيم الصفحات، الخط الزمني، المعالج، كلمة المرور المؤقتة ========== */
/* أشرطة تحت رأس المنصة: ترقية القاعدة المعلقة (لحارس النظام) */

.lavx-bar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 14px;padding:7px 16px;font-size:var(--lav-font-small);line-height:var(--lav-line-height);border-bottom:1px solid var(--lav-border);background:var(--lav-soft);color:var(--lav-text)}
.lavx-bar.is-warn{background:var(--lav-warning-bg);color:var(--lav-warning);border-color:var(--lav-warn-border)}
.lavx-bar.is-err{background:var(--lav-error-bg);color:var(--lav-error);border-color:var(--lav-err-border2)}
.lavx-bar .lav-btn{height:28px;min-height:28px;padding:0 12px;font-size:var(--lav-font-small)}
/* خانة المنتقي (U.pick): زر بشكل الحقل يفتح نافذة اختيار — بديل كل <select> (D-12) */
.lav-pickfield{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;text-align:start;cursor:pointer}
.lav-pickfield>span{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lav-pickfield.is-empty>span{color:var(--lav-muted)}
.lav-pickfield>svg{flex:none;width:16px;height:16px;fill:none;stroke:var(--lav-muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lav-pickfield:disabled{cursor:not-allowed;background:var(--lav-surface-2)}
.lav-pick-pop .lav-pick{max-height:min(55vh,420px);margin-top:0}
.lav-pick-pop .lav-pick-tbl td:first-child{width:28px}
.lav-pick-pop .lav-pick-tbl td>input{width:16px;height:16px;margin:0;accent-color:var(--lav-primary)}
/* المنتقي على الموبايل (كروت): الاسم سطر كامل بلا تكسير داخل الكلمة، والخانات الأخرى تحته */
.lav-pick-pop .lav-pick-tbl[data-lav-stack]>:is(tbody,tfoot)>tr>td:first-child{width:auto;grid-column:1/-1;overflow-wrap:normal;word-break:keep-all;white-space:normal}
.lav-pick-pop .lav-pick-tbl[data-lav-stack]>:is(tbody,tfoot)>tr>td{overflow-wrap:normal;word-break:keep-all}
.lav-pick-pop .lav-pick-tbl[data-lav-stack]>:is(tbody,tfoot)>tr>td:has(>input){grid-column:auto;flex-direction:row;align-items:center}
/* ترقيم الصفحات من الخادم أسفل كل جدول */
.lav-pager{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:var(--lav-gap);font-size:var(--lav-font-small);color:var(--lav-muted)}
.lav-pager-btns{display:flex;align-items:center;gap:6px}
/* الخط الزمني (U.timeline): السجل والأحداث والمحادثات */
.lav-timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.lav-timeline>li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px var(--lav-gap);padding:10px 0;border-bottom:1px solid var(--lav-border)}
.lav-timeline>li:last-child{border-bottom:0}
.lav-timeline>li>.lav-ic{grid-row:span 2}

/* المعالج متعدد الخطوات (U.wizard) */
.lav-wizard{display:flex;flex-direction:column;gap:var(--lav-gap)}
.lav-wizard-body{min-width:0}
/* كلمة مرور مؤقتة تظهر مرة واحدة لمنشئ الحساب */
.lav-modal-ov .lav-qr svg,.lav-qr svg{width:200px;height:200px;max-width:100%;stroke:none}.lav-qr svg rect{fill:var(--lav-surface)}.lav-qr svg path{fill:var(--lav-text)}
.lav-secret{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px;border:1px dashed var(--lav-border);border-radius:var(--lav-radius-sm);background:var(--lav-soft);font-size:var(--fs-section);letter-spacing:2px;direction:ltr}
/* خلية مصفوفة الصلاحيات قابلة للضغط */
.lav-cellbtn{display:inline-flex;padding:0;border:0;background:none;cursor:pointer;font:inherit}
.lav-cellbtn:disabled{cursor:default}
/* سلسلة الاعتماد داخل النموذج: سطر لكل خطوة */
.lav-chain{display:flex;flex-direction:column;gap:8px}
.lav-chain-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px}
/* اسم المستخدم في الشريط العلوي زر يفتح «حسابي» */

/* عدد خطوات شريط الخطوات من data-n (بدل style مكتوب) */
.lav-steps[data-n="2"]{--lav-steps:2}.lav-steps[data-n="3"]{--lav-steps:3}.lav-steps[data-n="4"]{--lav-steps:4}.lav-steps[data-n="5"]{--lav-steps:5}.lav-steps[data-n="6"]{--lav-steps:6}.lav-steps[data-n="7"]{--lav-steps:7}

/* ===== 9. P0 page details (CORE pages) — tokens only ===== */
.lav-muted{color:var(--lav-muted)}
.lav-small{font-size:var(--lav-font-small);margin-top:8px}
.lav-block{display:block;margin-top:12px}
.lav-block>span{display:block;margin-bottom:4px;color:var(--lav-muted);font-size:var(--lav-font-small)}
.lav-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.lav-pre{margin:0;max-height:40vh;overflow:auto;padding:10px 12px;border:1px solid var(--lav-border);border-radius:var(--lav-radius-sm);background:var(--lav-soft);font-size:var(--lav-font-small);line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;text-align:left}
.lav-more{margin-top:10px}
.lav-more>summary{cursor:pointer;color:var(--lav-muted);font-size:var(--lav-font-small);padding:4px 0}
.lav-kpi.is-link{cursor:pointer}
.lav-kpi.is-link:hover,.lav-kpi.is-link:focus-visible{border-color:var(--lav-err-border);background:var(--lav-primary-soft);outline:0}
.lavhm-qa[data-cols="4"]{--qa-cols:4}
@media (max-width:640px){.lavhm-qa[data-cols="4"]{--qa-cols:2}}
.lav-cellbtn[data-trace]{color:var(--lav-transfer);text-decoration:underline dotted;text-underline-offset:3px}
.lav-chain-row>span{display:flex;align-items:center;gap:8px;min-width:0}
.lav-chain-row>span>.lav-pickfield{flex:1 1 auto;min-width:0}
.lav-modal-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.lav-modal-btn svg{width:var(--lav-ic-size-btn);height:var(--lav-ic-size-btn);flex-shrink:0;fill:none;stroke:currentColor;stroke-width:var(--lav-ic-stroke);stroke-linecap:round;stroke-linejoin:round}

/* E1 — منشئ المنصة (CORE-30) */
.lav-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--lav-gap);flex-wrap:wrap;margin:0 0 var(--lav-gap)}
.lav-editor-head>div:first-child{flex:1 1 320px;min-width:0}
.lav-expr{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:var(--lav-font-small);background:var(--lav-surface-2);border:1px solid var(--lav-border);border-radius:var(--lav-radius-sm);padding:1px 6px;white-space:pre-wrap;word-break:break-word;unicode-bidi:isolate}
.lav-count{align-self:center}
@media (max-width:640px){.lav-editor-head .lav-details-bar{width:100%}}
.lav-steps[data-n="8"]{--lav-steps:8}.lav-steps[data-n="9"]{--lav-steps:9}.lav-steps[data-n="10"]{--lav-steps:10}
.lav-steps{margin:var(--lav-gap) 0}

/* E12 — صفحة التحقق من مستند مطبوع (verify.php): التسمية فوق القيمة */

.lav-verify-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:14px;border:1px solid var(--lav-border);border-radius:var(--lav-radius);background:var(--lav-soft)}

@media (max-width:480px){.lav-verify-list{grid-template-columns:minmax(0,1fr)}}
/* E5: installments entered with a sale (OPS-01) — a type whose dues come from a child table */
.lav-inst{display:flex;flex-direction:column;gap:10px}
.lav-inst-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:10px;align-items:end}
.lav-inst-row label{display:flex;flex-direction:column;gap:4px;min-width:0}
.lav-inst-row label>span{font-size:var(--lav-font-small);color:var(--lav-muted)}
.lav-err-text{color:var(--lav-error);font-weight:var(--lav-w-strong)}
@media (max-width:480px){.lav-inst-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.lav-inst-row>.lav-btn,.lav-inst-row>span{grid-column:1/-1}}
/* E5.6 (EB-1, EB-10) — صندوق المحادثات lav-inbox: ثلاثة أعمدة (المحادثات · الرسائل · جهة الاتصال)، عمود واحد على الموبايل.
   رسائلنا يمين والواردة شمال؛ عرض القائمة بالسحب وحجم خط الشات محفوظان لكل مستخدم (توكنز فقط) */
.lav-inbox{display:flex;flex-direction:column;gap:var(--lav-gap);min-width:0}

.lav-inbox-bar .lav-subtab svg{width:16px;height:16px}
.lav-inbox-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--lav-primary);color:var(--lav-surface);font-size:var(--lav-font-small);font-weight:var(--lav-w-strong);margin-inline-start:6px}
.lav-inbox-cols{--lav-inbox-list-w:320px;display:grid;grid-template-columns:var(--lav-inbox-list-w) 6px minmax(0,1fr) 300px;height:calc(100vh - 230px);min-height:460px;border:1px solid var(--lav-border);border-radius:var(--lav-radius);background:var(--lav-surface);overflow:hidden}

.lav-inbox-grip{cursor:col-resize;background:var(--lav-soft)}
.lav-inbox-grip:hover,.lav-inbox-grip:focus{background:var(--lav-primary-soft);outline:none}
body.lav-inbox-dragging{user-select:none;cursor:col-resize}
.lav-inbox-items{list-style:none;margin:0;padding:0}

.lav-inbox-item:hover{background:var(--lav-surface-2)}

.lav-inbox-item.is-unread b{color:var(--lav-primary)}
.lav-inbox-item-top{display:flex;align-items:baseline;gap:8px;min-width:0}

.lav-inbox-item-top small,.lav-inbox-item-foot small{color:var(--lav-muted);font-size:var(--lav-font-small)}
.lav-inbox-item-mid{display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.lav-inbox-item-mid .lav-badge svg{width:13px;height:13px}
.lav-inbox-item-prev{color:var(--lav-muted);font-size:var(--lav-font-small);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lav-inbox-item-foot{display:flex;flex-wrap:wrap;gap:6px}
.lav-inbox-tag{color:var(--lav-primary);font-size:var(--lav-font-small)}
.lav-inbox-chat{display:flex;flex-direction:column;min-width:0;min-height:0}
.lav-inbox-head{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--lav-border);min-width:0;white-space:nowrap}
.lav-inbox-title{min-width:0;overflow:hidden;text-overflow:ellipsis}
.lav-inbox-head .lav-badge svg{width:13px;height:13px}
.lav-inbox-head-acts{display:flex;gap:4px;margin-inline-start:auto}

.lav-inbox-cols[data-font="-2"] .lav-inbox-msgs{font-size:var(--fs-small)}
.lav-inbox-cols[data-font="-1"] .lav-inbox-msgs{font-size:var(--fs-small)}

.lav-inbox-cols[data-font="2"] .lav-inbox-msgs{font-size:var(--fs-section)}
.lav-inbox-cols[data-font="3"] .lav-inbox-msgs{font-size:var(--fs-section)}
.lav-inbox-more{display:flex;justify-content:center}
.lav-msg{max-width:78%;padding:8px 10px;border-radius:var(--lav-radius);border:1px solid var(--lav-border);background:var(--lav-surface);display:flex;flex-direction:column;gap:4px;overflow-wrap:anywhere}
.lav-msg.is-out{align-self:flex-start;background:var(--lav-primary-soft);border-color:var(--lav-primary-soft)}
.lav-msg.is-in{align-self:flex-end}

.lav-msg-subject{font-weight:var(--lav-w-strong);font-size:var(--lav-font-small);color:var(--lav-muted)}
.lav-msg-text{line-height:var(--lav-line-height);white-space:normal}
.lav-msg-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px}

.lav-msg-err{color:var(--lav-error);font-size:var(--lav-font-small)}
.lav-msg-file,.lav-msg-retry,.lav-msg-reply{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--lav-border);background:var(--lav-surface);border-radius:var(--lav-radius-sm);padding:4px 8px;font:inherit;font-size:var(--lav-font-small);color:var(--lav-text);cursor:pointer}
.lav-msg-reply{padding:2px 6px;border:0;background:transparent;color:var(--lav-muted)}
.lav-msg-file svg,.lav-msg-retry svg,.lav-msg-reply svg{width:15px;height:15px}
.lav-msg-file.is-wait{cursor:default;color:var(--lav-muted)}
.lav-msg-audio audio{max-width:100%}

.lav-inbox-compose-row{display:flex;align-items:flex-end;gap:8px}
.lav-inbox-compose-row textarea{flex:1 1 auto;min-width:0;resize:vertical}
.lav-inbox-tools{display:flex;align-items:center;gap:6px;font-size:var(--lav-font-small)}
.lav-inbox-notemode{font-size:var(--lav-font-small);white-space:nowrap}
.lav-inbox-quote{display:flex;align-items:center;gap:8px;padding:4px 8px;border-inline-start:3px solid var(--lav-primary);background:var(--lav-surface-2);font-size:var(--lav-font-small)}
.lav-inbox-quote span{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lav-inbox-filename{color:var(--lav-muted);font-size:var(--lav-font-small)}
.lav-inbox-chat>.lav-note{margin:6px 10px 0}
.lav-inbox-side{overflow-y:auto;padding:10px;border-inline-start:1px solid var(--lav-border);min-width:0}
.lav-inbox-side-acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.lav-inbox-side .lav-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.lav-inbox-copy{display:block;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:var(--lav-font-small);background:var(--lav-surface-2);border:1px solid var(--lav-border);border-radius:var(--lav-radius-sm);padding:4px 8px;white-space:pre-wrap;word-break:break-all;user-select:all}
@media (max-width:1200px){.lav-inbox-cols{grid-template-columns:var(--lav-inbox-list-w) 6px minmax(0,1fr)}.lav-inbox-side{display:none}}
@media (max-width:760px){
  .lav-inbox-cols{grid-template-columns:minmax(0,1fr);height:calc(100vh - 200px)}
  .lav-inbox.has-chat .lav-inbox-bar{display:none}
  .lav-inbox-head{flex-wrap:wrap;white-space:normal}
  .lav-inbox-title{flex:1 1 100%;order:-1}
  .lav-inbox-grip{display:none}
  .lav-inbox-chat{display:none}
  .lav-inbox-cols.has-chat .lav-inbox-list{display:none}
  .lav-inbox-cols.has-chat .lav-inbox-chat{display:flex}
  .lav-msg{max-width:92%}
  .lav-inbox-compose-row{flex-direction:column;align-items:stretch}
  .lav-inbox-tools{justify-content:space-between}
}
/* E5.6 — «المحادثة» في بوابة العملاء: نفس فقاعات الصندوق */
.lavp-chat{display:flex;flex-direction:column;gap:8px}

.lavp-chat .lav-msg.is-mine{align-self:flex-start;background:var(--lav-primary-soft);border-color:var(--lav-primary-soft)}
.lavp-chat .lav-msg.is-theirs{align-self:flex-end}
.lavp-chat-row{display:flex;gap:8px;align-items:flex-end}
.lavp-chat-row textarea{flex:1 1 auto;min-width:0}
/* ===== E5.7 LAYER START ===== */
/* ############################################################################
   E5.7 — طبقة قيود التصميم المعتمدة (23 أكتوبر 2026): LAVIDAOSP_DESIGN_CONSTRAINTS_20261023
   القيم كلها من tokens.css؛ الأيقونات من icons.json؛ مقاسات الخط الست فقط؛ النهاري والليلي.
   هذه الطبقة تُكتب في آخر home.css (الأداة tools/design_e57.py) فتعلو على القواعد القديمة.
   ############################################################################ */

/* ---------- الليلي (ق8): عنابي غامق، كروت زجاج متدرج بإطار يلمع، الكلام أبيض صافي وأتقل ---------- */
:root[data-theme="dark"]{
  --bg:#070304; --grid:rgba(255,180,180,.035); --glow:rgba(214,40,40,.38);
  --surface:linear-gradient(180deg,rgba(40,16,22,.9),rgba(22,9,13,.9)); --surface-solid:rgba(30,12,17,.96);
  --border:rgba(255,255,255,.1); --text:#ffffff; --muted:#ffffff; --soft:rgba(255,255,255,.04);
  --brand-soft:rgba(229,57,53,.16);
  --lav-w-text:700; --lav-w-strong:800;
  --shadow-card:0 10px 30px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.06);
  --overlay:rgba(0,0,0,.62); --print-ink:#111;
  --occ-free:#22392A; --occ-free-line:#3F6B48; --occ-busy:#4A2B2D; --occ-busy-line:#7E4648; --occ-busy-mark:#EFA1A1; --occ-busy-ink:#FBE3E3;
  --occ-held:#4A3B22; --occ-held-line:#9C7F3C; --occ-held-ink:#F8E7BF;
  color-scheme:dark;
}
@media (max-width:640px){:root{--fs-small:10px;--fs-text:12px;--fs-title-sm:14px;--fs-section:18px;--fs-page:24px;--fs-kpi:28px;--toast-w:calc(100vw - 32px)}}

/* ---------- الأرضية الواحدة (ق5): رمادي فاتح، مربعات 44، إضاءة حمرا في الركن اللي فوق ---------- */
html{-webkit-print-color-adjust:exact;print-color-adjust:exact;
background:var(--bg)}
.lavp-shell,.lavp-main{background:transparent}
body,body.lav-login,body.lav-portal{font-family:var(--lav-font);font-weight:var(--lav-w-text);color:var(--text);font-size:var(--fs-text);
  background:radial-gradient(900px 420px at 92% -8%,var(--glow),transparent 60%),
    linear-gradient(var(--grid) 1px,transparent 1px) 0 0/44px 44px,
    linear-gradient(90deg,var(--grid) 1px,transparent 1px) 0 0/44px 44px,var(--bg);
  background-attachment:fixed}
button,input,select,textarea{font-family:var(--lav-font);font-weight:var(--lav-w-text);color:var(--lav-text);
font-weight:var(--lav-w-text);color:var(--text)}
button{font-size:inherit}
h1,h2,h3,h4,h5,h6,th,b,strong,dt,legend{font-weight:var(--lav-w-strong)}
h1{font-size:var(--fs-page)} h2{font-size:var(--fs-section)} h3{font-size:var(--fs-title-sm)} h4,h5,h6{font-size:var(--lav-font-base);line-height:var(--lav-line-height);margin:0 0 4px;
font-size:var(--fs-text)}
label,optgroup{font-weight:var(--lav-w-text)}
small{font-size:var(--fs-small)}
/* الأكواد (ق14): نفس الخط، وزن تقيل وأرقام متساوية العرض */
code,kbd,samp,pre,.lav-nowrap,bdi.lav-nowrap,[data-code]{font-family:var(--lav-font);font-weight:var(--lav-w-strong);font-variant-numeric:tabular-nums;font-size:inherit}
a{color:var(--lav-primary);
color:var(--brand-2)}

/* ---------- الكروت: أبيض بإطار وظل (النهاري) / زجاج متدرج بإطار يلمع (الليلي) ---------- */
.lav-page-card,.lav-kpi,.lav-modal,.lavp-auth-card,.lav-login-card,.lav-inbox-cols,.lav-cmd{
  background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}
:root[data-theme="dark"] :is(.lav-page-card,.lav-kpi,.lav-summary-card,.lav-dialog-card,.lav-modal,.lavp-auth-card,.lav-login-card,.lav-inbox-cols,.lav-cmd,.lavhm-card){
  background:var(--surface);border-color:rgba(255,120,120,.16);backdrop-filter:blur(8px)}
.lav-page-card{padding:18px 20px}

/* ---------- الشريط اللي فوق: أبيض/زجاج، والقسم المفتوح تحته خط أحمر بيلمع (2.4) ---------- */

.lavx-logo-word{font-size:var(--fs-section);letter-spacing:6px;color:var(--brand-2);font-weight:var(--lav-w-text)}
.lavx-logo-tag{font-size:var(--lav-font-small);color:var(--lav-muted);line-height:1.3;font-weight:var(--lav-w-text);letter-spacing:.5px;white-space:nowrap;
font-size:var(--fs-small)}

.lavx-av{width:32px;height:32px;border-radius:50%;background:var(--lav-primary-soft);color:var(--lav-primary);display:flex;align-items:center;justify-content:center;font-size:var(--lav-font-base);flex-shrink:0;border:1px solid var(--lav-err-border);
width:40px;height:40px;border-radius:50%;display:inline-grid;place-items:center;background:var(--btn-danger);color:var(--on-color);border:0;
  font-size:var(--fs-title-sm);font-weight:var(--lav-w-strong);box-shadow:0 6px 14px color-mix(in srgb,var(--brand-2) 35%,transparent)}
.lavx-av svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9}

.lavx-bell,.lavx-logout,.lavx-theme{background:var(--surface-solid);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-btn)}
.lavx-bell-badge{position:absolute;top:-4px;inset-inline-start:-4px;min-width:17px;height:17px;border-radius:9px;background:var(--lav-primary);color:var(--on-color);font-size:var(--lav-font-small);display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid var(--lav-surface);line-height:1;
font-size:var(--fs-small)}
.lavx-theme{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;cursor:pointer;flex-shrink:0}
.lavx-theme svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
/* E5.8 (owner 23 Oct): moon in light mode, sun in dark mode, each in its icons.json colour */
.lavx-theme .lavx-theme-to-dark{display:inline-flex;color:var(--c-slate)}
.lavx-theme .lavx-theme-to-light{display:none;color:var(--c-amber)}
:root[data-theme="dark"] .lavx-theme .lavx-theme-to-dark{display:none}
:root[data-theme="dark"] .lavx-theme .lavx-theme-to-light{display:inline-flex}

/* ---------- عنوان الصفحة وعنوان القسم (ق10): نقطة حمرا قبل العنوان وخط أحمر رفيع تحته ---------- */
.lav-page-head-title,.lav-page-head .lav-page-title{font-size:var(--fs-page);font-weight:var(--lav-w-strong);color:var(--text);line-height:1.3}
.lav-page-head-sub,.lav-page-hint{font-size:var(--fs-text);color:var(--muted)}
.lav-page-title{font-size:var(--lav-font-title);color:var(--lav-text);margin-bottom:6px;font-weight:var(--lav-w-text);
font-size:var(--fs-section);font-weight:var(--lav-w-strong);color:var(--text)}
.lav-section-title{display:flex;align-items:center;gap:8px;font-size:var(--fs-title-sm);font-weight:var(--lav-w-strong);color:var(--text);
  padding-bottom:8px;margin:14px 0 12px;border-bottom:1.5px solid var(--brand-2)}
.lav-section-title::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--brand-2);flex:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-2) 18%,transparent)}
.lav-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px;
display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:var(--fs-small);color:var(--muted)}

/* ---------- الأيقونة (ق1): النهاري خلفية 22% والأيقونة ملونة — الليلي مربع ملون كامل والأيقونة بيضا ---------- */
.lav-ic{width:14px;height:14px;display:inline-block;vertical-align:-2px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;margin-inline-end:5px;flex-shrink:0;
display:inline-flex;align-items:center;justify-content:center;width:var(--lav-ic-box);height:var(--lav-ic-box);border-radius:var(--lav-radius-sm);background:var(--lav-soft);color:var(--lav-muted);flex-shrink:0;
--c:var(--c-slate);width:40px;height:40px;border-radius:var(--radius-icon);display:inline-grid;place-items:center;flex-shrink:0;margin:0;
  background:color-mix(in srgb,var(--c) 22%,transparent);color:var(--c)}
.lav-ic svg{width:var(--lav-ic-size);height:var(--lav-ic-size);fill:none;stroke:currentColor;stroke-width:var(--lav-ic-stroke);stroke-linecap:round;stroke-linejoin:round;
width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.lav-ic--sm{--lav-ic-box:28px;--lav-ic-size:16px;
width:30px;height:30px;border-radius:9px}
.lav-ic--sm svg{width:16px;height:16px}
:root[data-theme="dark"] .lav-ic,:root[data-theme="dark"] .lav-kpi-ic,:root[data-theme="dark"] .lav-act,:root[data-theme="dark"] .lavhm-task .ic{color:var(--on-color);
  background:linear-gradient(145deg,color-mix(in srgb,var(--c) 85%,white),color-mix(in srgb,var(--c) 72%,black));box-shadow:0 6px 16px color-mix(in srgb,var(--c) 40%,transparent);border-color:transparent}
/* الألوان الـ18 (icons.json) + الأسماء القديمة كأسماء بديلة */
:is(.lav-ic,.lav-act,.lav-kpi-ic,.lavhm-task .ic,.lav-i,.lav-cmd-ic):is(.lav-ic--green,.lav-i--green,.lav-ic--ok,.lav-i--ok){--c:var(--c-green)}
:is(.lav-ic,.lav-act,.lav-kpi-ic,.lavhm-task .ic,.lav-i,.lav-cmd-ic):is(.lav-ic--blue,.lav-i--blue,.lav-ic--info,.lav-i--info){--c:var(--c-blue)}
:is(.lav-ic,.lav-act,.lav-kpi-ic,.lavhm-task .ic,.lav-i,.lav-cmd-ic):is(.lav-ic--emerald,.lav-i--emerald){--c:var(--c-emerald)}
:is(.lav-ic,.lav-act,.lav-kpi-ic,.lavhm-task .ic,.lav-i,.lav-cmd-ic):is(.lav-ic--red,.lav-i--red,.lav-ic--err,.lav-i--err){--c:var(--c-red)}
:is(.lav-ic,.lav-act,.lav-kpi-ic,.lavhm-task .ic,.lav-i,.lav-cmd-ic):is(.lav-ic--slate,.lav-i--slate,.lav-ic--neutral,.lav-i--neutral,.lav-ic--muted,.lav-i--muted){--c:var(--c-slate)}
:is(.lav-ic,.lav-act,.lav-kpi-ic,.lavhm-task .ic,.lav-i,.lav-cmd-ic):is(.lav-ic--amber,.lav-i--amber,.lav-ic--warn,.lav-i--warn,.lav-ic--amberd,.lav-i--amberd){--c:var(--c-amber)}
:is(.lav-ic,.lav-act,.lav-kpi-ic,.lavhm-task .ic,.lav-i,.lav-cmd-ic):is(.lav-ic--cyan,.lav-i--cyan){--c:var(--c-cyan)}
:is(.lav-ic,.lav-act,.lav-kpi-ic,.lavhm-task .ic,.lav-i,.lav-cmd-ic):is(.lav-ic--indigo,.lav-i--indigo){--c:var(--c-indigo)}
:is(.lav-ic,.lav-act,.lav-kpi-ic,.lavhm-task .ic,.lav-i,.lav-cmd-ic):is(.lav-ic--sky,.lav-i--sky){--c:var(--c-sky)}
:is(.lav-ic,.lav-act,.lav-kpi-ic,.lavhm-task .ic,.lav-i,.lav-cmd-ic):is(.lav-ic--violet,.lav-i--violet){--c:var(--c-violet)}
:is(.lav-ic,.lav-act,.lav-kpi-ic,.lavhm-task .ic,.lav-i,.lav-cmd-ic):is(.lav-ic--teal,.lav-i--teal){--c:var(--c-teal)}
:is(.lav-ic,.lav-act,.lav-kpi-ic,.lavhm-task .ic,.lav-i,.lav-cmd-ic):is(.lav-ic--purple,.lav-i--purple){--c:var(--c-purple)}
:is(.lav-ic,.lav-act,.lav-kpi-ic,.lavhm-task .ic,.lav-i,.lav-cmd-ic):is(.lav-ic--orange,.lav-i--orange){--c:var(--c-orange)}
:is(.lav-ic,.lav-act,.lav-kpi-ic,.lavhm-task .ic,.lav-i,.lav-cmd-ic):is(.lav-ic--rose,.lav-i--rose,.lav-ic--brand,.lav-i--brand){--c:var(--c-rose)}
:is(.lav-ic,.lav-act,.lav-kpi-ic,.lavhm-task .ic,.lav-i,.lav-cmd-ic):is(.lav-ic--brown,.lav-i--brown){--c:var(--c-brown)}
:is(.lav-ic,.lav-act,.lav-kpi-ic,.lavhm-task .ic,.lav-i,.lav-cmd-ic):is(.lav-ic--pink,.lav-i--pink){--c:var(--c-pink)}
:is(.lav-ic,.lav-act,.lav-kpi-ic,.lavhm-task .ic,.lav-i,.lav-cmd-ic):is(.lav-ic--lime,.lav-i--lime){--c:var(--c-lime)}
:is(.lav-ic,.lav-act,.lav-kpi-ic,.lavhm-task .ic,.lav-i,.lav-cmd-ic):is(.lav-ic--fuchsia,.lav-i--fuchsia){--c:var(--c-fuchsia)}

/* ---------- الأزرار (2.2): حفظ/إضافة/اعتماد/تحصيل أخضر — تعديل/التالي أزرق — حذف/رفض أحمر — إلغاء/ثانوي فاتح بإطار ---------- */
.lav-btn,.lav-modal-btn{margin-top:0;min-width:0;height:var(--lav-btn-h);min-height:var(--lav-btn-h);border:1px solid var(--lav-primary);border-radius:var(--lav-btn-radius);padding:var(--lav-btn-pad);
  background:var(--lav-primary);color:var(--on-color);font-size:var(--lav-btn-font);font-weight:var(--lav-w-text);line-height:var(--lav-line-height);white-space:nowrap;text-decoration:none;
  cursor:pointer;transition:background .15s,border-color .15s;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--lav-font);
display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;height:auto;padding:0 18px;border-radius:var(--radius-btn);
  font-size:var(--fs-text);font-weight:var(--lav-w-strong);cursor:pointer;line-height:1.2;
  background:var(--surface-solid);color:var(--text);border:1px solid var(--border);box-shadow:none}
.lav-btn:hover,.lav-modal-btn:hover{background:var(--lav-primary-dark);border-color:var(--lav-primary-dark);
background:var(--soft);border-color:color-mix(in srgb,var(--text) 22%,transparent)}
:root[data-theme="dark"] :is(.lav-btn,.lav-modal-btn):not(.lav-btn-save,.is-green,.is-blue,.is-red,.is-brand,.ok,.danger,.lav-btn-danger){background:rgba(255,255,255,.04)}
.lav-btn svg,.lav-modal-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
:is(.lav-btn,.lav-modal-btn):is(.lav-btn-save,.is-green,.ok){background:var(--btn-save);color:var(--on-color);border-color:transparent;box-shadow:0 8px 18px color-mix(in srgb,var(--c-green) 32%,transparent)}
:is(.lav-btn,.lav-modal-btn):is(.is-blue){background:var(--btn-primary);color:var(--on-color);border-color:transparent;box-shadow:0 8px 18px color-mix(in srgb,var(--c-blue) 32%,transparent)}
:is(.lav-btn,.lav-modal-btn):is(.is-red,.danger,.lav-btn-danger){background:var(--btn-danger);color:var(--on-color);border-color:transparent;box-shadow:0 8px 18px color-mix(in srgb,var(--c-red) 30%,transparent)}
:is(.lav-btn,.lav-modal-btn):is(.is-soft,.lav-btn-light,.lav-btn-neutral,.cancel){background:var(--surface-solid);color:var(--text);border:1px solid var(--border);box-shadow:none}
:root[data-theme="dark"] :is(.lav-btn,.lav-modal-btn):is(.is-soft,.lav-btn-light,.lav-btn-neutral,.cancel){background:rgba(255,255,255,.04)}
:is(.lav-btn,.lav-modal-btn):is(.lav-btn-save,.is-green,.is-blue,.is-red,.ok,.danger,.lav-btn-danger):hover{filter:brightness(1.06);background-color:transparent}
:is(.lav-btn,.lav-modal-btn):is(.lav-btn-save,.is-green,.ok):hover{background:var(--btn-save)}
:is(.lav-btn,.lav-modal-btn).is-blue:hover{background:var(--btn-primary)}
:is(.lav-btn,.lav-modal-btn):is(.is-red,.danger,.lav-btn-danger):hover{background:var(--btn-danger)}
/* E5.8 (owner 23 Oct): signing in is the red brand button of the login screen */
:is(.lav-btn,.lav-modal-btn).is-brand{background:linear-gradient(180deg,var(--brand-2),var(--brand));color:var(--on-color);border-color:transparent;box-shadow:0 8px 18px color-mix(in srgb,var(--brand) 32%,transparent)}
:is(.lav-btn,.lav-modal-btn).is-brand:hover{filter:brightness(1.06);background:linear-gradient(180deg,var(--brand-2),var(--brand))}
.lav-btn:focus-visible,.lav-modal-btn:focus-visible{outline:2px solid var(--brand-2);outline-offset:2px}
.lav-btn-xs{min-height:28px;height:28px;padding:0 10px;font-size:var(--lav-font-small);min-width:var(--lav-btn-xs-w);
min-height:30px;padding:0 10px;font-size:var(--fs-small)}

/* أزرار الصف (2.2): مربعات أيقونات صغيرة ملونة — عرض وتعديل وحذف */
.lav-act{display:inline-flex;align-items:center;justify-content:center;width:var(--lav-act-w);height:var(--lav-act-h);min-height:var(--lav-act-h);padding:0;margin:0;border:1px solid var(--lav-border);border-radius:var(--lav-radius-sm);background:var(--lav-surface);cursor:pointer;vertical-align:middle;
--c:var(--c-slate);width:30px;height:30px;min-height:30px;border-radius:9px;border:0;display:inline-grid;place-items:center;
  background:color-mix(in srgb,var(--c) 18%,transparent);color:var(--c);cursor:pointer;vertical-align:middle}
.lav-act:hover{border-color:var(--lav-primary);
background:color-mix(in srgb,var(--c) 28%,transparent)}
.lav-act svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
width:16px;height:16px}
.lav-act+.lav-act{margin-inline-start:6px}

/* ---------- الحالات (ق9): 7 ألوان، مستطيل بأركان مدورة خفيف، عرض ثابت 88، الكلام في النص ---------- */
.lav-badge,.lavrep-badge,.p12-badge,.lavhr-bdg,.lavco-st-text{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;box-sizing:border-box;min-width:var(--lav-badge-w);height:var(--lav-badge-h);padding:0 10px;border-radius:var(--lav-radius-sm);border:1px solid var(--lav-border);font-size:var(--lav-font-small);font-weight:var(--lav-w-text);white-space:nowrap;text-align:center;line-height:1;background:var(--lav-soft);color:var(--lav-muted2);
--c:var(--st-draft);display:inline-flex;align-items:center;justify-content:center;gap:6px;
  width:var(--badge-w);min-width:var(--badge-w);max-width:var(--badge-w);height:26px;padding:0 6px;box-sizing:border-box;border-radius:var(--radius-badge);
  font-size:var(--fs-small);font-weight:var(--lav-w-strong);line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  color:var(--c);background:color-mix(in srgb,var(--c) 12%,transparent);border:1px solid color-mix(in srgb,var(--c) 35%,transparent)}
.lav-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.lav-badge>svg{display:none}

/* E5.8 (P3 finding D-05): the 88px holds whatever the text and wherever the badge sits — a badge row, a summary, a cell, a flex line */
.lav-badge-row>.lav-badge,.lav-summary .lav-badge,.lav-badge{flex:0 0 var(--badge-w);width:var(--badge-w);min-width:var(--badge-w);max-width:var(--badge-w);height:26px;min-height:0;white-space:nowrap;line-height:1}
.lav-badge-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;
align-items:center}
:is(.lav-badge,.lavrep-badge,.p12-badge,.lavrcp-tag,.lavhr-bdg,.lavco-st-text):is(.ok,.is-ok,.approved,.lavco-st-ok,.t-cash){--c:var(--st-approved)}
:is(.lav-badge,.lavrep-badge,.p12-badge,.lavrcp-tag,.lavhr-bdg,.lavco-st-text):is(.warn,.is-warn,.pending,.wait,.lavco-st-warn,.t-credit){--c:var(--st-pending)}
:is(.lav-badge,.lavrep-badge,.p12-badge,.lavrcp-tag,.lavhr-bdg,.lavco-st-text):is(.err,.rejected,.no,.rem,.lavco-st-bad){--c:var(--st-rejected)}
:is(.lav-badge,.lavrep-badge,.p12-badge,.lavrcp-tag,.lavhr-bdg,.lavco-st-text):is(.info,.is-primary,.t-transfer){--c:var(--st-info)}
:is(.lav-badge,.lavrep-badge,.p12-badge,.lavrcp-tag,.lavhr-bdg,.lavco-st-text):is(.canceled,.cancelled){--c:var(--st-canceled)}
:is(.lav-badge,.lavrep-badge,.p12-badge,.lavrcp-tag,.lavhr-bdg,.lavco-st-text):is(.archived){--c:var(--st-archived)}
:is(.lav-badge,.lavrep-badge,.p12-badge,.lavrcp-tag,.lavhr-bdg,.lavco-st-text):is(.muted,.draft,.lavco-st-neutral){--c:var(--st-draft)}
:root[data-theme="dark"] .lav-badge{background:color-mix(in srgb,var(--c) 16%,transparent);color:color-mix(in srgb,var(--c) 70%,white)}

/* ---------- التبويبات (2.4): شريط واحد، المفتوح أحمر فاتح (النهاري) / أحمر متدرج والكلام أبيض (الليلي) ---------- */

.lav-subtab .lav-inbox-count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:7px;border:1px solid var(--border);background:var(--surface-solid);color:var(--text);font-size:var(--fs-small);font-weight:var(--lav-w-strong)}

/* ---------- المؤشرات (2.6): 4 بالكتير في سطر واحد، رقم كبير وأيقونة، وتحته سطر التغير ---------- */
.lav-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px}
.lav-kpi{position:relative;overflow:hidden;display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px;min-height:116px}
.lav-kpi-body{text-align:start;gap:6px}
.lav-kpi-lbl{font-size:var(--fs-text);color:var(--text);font-weight:var(--lav-w-text)}
.lav-kpi-num{font-size:var(--fs-kpi);font-weight:var(--lav-w-strong);color:var(--text);line-height:1.15}
.lav-kpi-sub{font-size:var(--lav-font-small);color:var(--lav-muted);white-space:nowrap;
font-size:var(--fs-small);font-weight:var(--lav-w-text);color:var(--muted)}
.lav-kpi-sub.is-up,.lav-kpi-sub .is-up{color:var(--st-approved)}
.lav-kpi-sub.is-down,.lav-kpi-sub .is-down{color:var(--st-rejected)}
.lav-kpi-ic{--c:var(--c-rose);width:44px;height:44px;border-radius:var(--radius-icon);display:grid;place-items:center;flex:none;background:color-mix(in srgb,var(--c) 12%,transparent);color:var(--c)}
.lav-kpi-ic svg{width:var(--lav-ic-size);height:var(--lav-ic-size);stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
width:20px;height:20px}
.lav-kpi:nth-child(4n/**/+2) .lav-kpi-ic:not([class*="lav-ic--"]){--c:var(--c-green)}
.lav-kpi:nth-child(4n/**/+3) .lav-kpi-ic:not([class*="lav-ic--"]){--c:var(--c-amber)} .lav-kpi:nth-child(4n/**/+4) .lav-kpi-ic:not([class*="lav-ic--"]){--c:var(--c-indigo)}
/* E8 (visual baseline lock §7): no decorative pastel glow — one subtle 3px accent line at the inline start, same component family */
.lav-kpi::after{content:"";position:absolute;inset-inline-start:0;top:16px;bottom:16px;width:3px;border-radius:0 3px 3px 0;background:var(--kc,var(--c-rose));pointer-events:none}
.lav-kpi:nth-child(4n/**/+2){--kc:var(--c-green)} .lav-kpi:nth-child(4n/**/+3){--kc:var(--c-amber)} .lav-kpi:nth-child(4n/**/+4){--kc:var(--c-indigo)}

/* ---------- كارت الأمر (2.8) ---------- */
.lav-cmds{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.lav-cmd{display:flex;align-items:center;gap:14px;padding:16px;text-align:start;cursor:pointer;color:var(--text);text-decoration:none;box-shadow:none}
.lav-cmd:hover,.lav-cmd.is-active{border-color:color-mix(in srgb,var(--brand-2) 45%,transparent);background:var(--brand-soft)}
.lav-cmd b{display:block;font-size:var(--fs-title-sm)}

/* ---------- القوايم (ق12، ق13): كروت مش جدول بخطوط، الصف ~40، المسافة 6، الكلام في النص، المحدد إطار أحمر وخط جنبه ---------- */

#lav_content .lav-ui-table thead th,.lav-modal .lav-ui-table thead th{background:var(--surface-solid)}
:root[data-theme="dark"] #lav_content .lav-ui-table thead th,:root[data-theme="dark"] .lav-modal .lav-ui-table thead th{background:rgba(26,10,14,.98)}
.lav-ui-table thead th{background:transparent;border:0;color:var(--text);font-size:var(--fs-text);font-weight:var(--lav-w-strong);padding:6px 10px;text-align:center}
.lav-ui-table:not([data-lav-stack]) tbody td{height:var(--row-h);padding:6px 10px;text-align:center;vertical-align:middle;background:var(--surface-solid);
  border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-size:var(--fs-text);font-weight:var(--lav-w-text)}
:root[data-theme="dark"] .lav-ui-table:not([data-lav-stack]) tbody td{background:rgba(255,255,255,.035)}
.lav-ui-table:not([data-lav-stack]) tbody td:first-child{border-inline-start:1px solid var(--border);border-start-start-radius:var(--radius-row);border-end-start-radius:var(--radius-row)}
.lav-ui-table:not([data-lav-stack]) tbody td:last-child{border-inline-end:1px solid var(--border);border-start-end-radius:var(--radius-row);border-end-end-radius:var(--radius-row)}
.lav-ui-table:not([data-lav-stack]) tbody tr:hover td{background:var(--soft)}
/* the phone and narrow places: each record a compact card, the label above the value */
table.lav-ui-table[data-lav-stack]>:is(tbody,tfoot){gap:var(--row-gap)}
table.lav-ui-table[data-lav-stack]>:is(tbody,tfoot)>tr{border-radius:var(--radius-row);background:var(--surface-solid);border:1px solid var(--border)}
:root[data-theme="dark"] table.lav-ui-table[data-lav-stack]>:is(tbody,tfoot)>tr{background:rgba(255,255,255,.035)}
table.lav-ui-table[data-lav-stack]>:is(tbody,tfoot)>tr>td{border-top:0;padding:6px 0;font-size:var(--fs-text)}
table.lav-ui-table[data-lav-stack]>:is(tbody,tfoot)>tr>td[data-label]:not([data-label=""])::before{font-size:var(--fs-small);color:var(--muted)}
/* E8: a card label is a column title (a role name can be long): it wraps beside a one-word value instead of widening the page */
table.lav-ui-table[data-lav-stack]>:is(tbody,tfoot)>tr>td[data-lav-word][data-label]:not([data-label=""])::before{white-space:normal;min-width:0;overflow-wrap:anywhere}
table.lav-ui-table[data-lav-stack]>:is(tbody,tfoot)>tr>td:first-child{font-size:var(--fs-title-sm);font-weight:var(--lav-w-strong)}
table.lav-ui-table[data-lav-stack]>:is(tbody,tfoot)>tr:is(.is-selected,.is-active,.selected){border-color:color-mix(in srgb,var(--brand-2) 55%,transparent);background:var(--brand-soft)}
.lav-ui-table tbody tr:is(.is-selected,.is-active,.selected,[aria-selected="true"]) td{background:var(--brand-soft);border-color:color-mix(in srgb,var(--brand-2) 55%,transparent)}
.lav-ui-table tbody tr:is(.is-selected,.is-active,.selected,[aria-selected="true"]) td:first-child{box-shadow:inset -3px 0 0 var(--brand-2)}
.lav-ui-table :is(tr.total,tr:has(.lav-row-tot)) td{background:var(--lav-soft);
background:color-mix(in srgb,var(--st-info) 8%,var(--surface-solid));border-color:color-mix(in srgb,var(--st-info) 40%,transparent);font-weight:var(--lav-w-strong)}
/* التقارير والقوايم المالية (ق26): الإجماليات مميزة، والصافي سطر أحمر */
.lav-ui-table tr:is(.is-net,.net) td{background:var(--btn-danger);color:var(--on-color);border-color:transparent;font-weight:var(--lav-w-strong)}
.lav-chart{display:flex;flex-direction:column;gap:10px;min-width:0;
--lav-chart-red:var(--c-blue);--lav-chart-teal:var(--c-orange);--lav-chart-indigo:var(--c-blue);--lav-chart-line:var(--c-blue)}
.lav-ui-table tbody tr.is-off td{color:var(--muted);opacity:.75}
.lav-pick-tbl td,.lav-pick-tbl th{font-size:var(--fs-text)}

/* ---------- الملخص (U.summary) وبيانات التفاصيل: كارت هوية والبيانات كروت، التسمية فوق القيمة والكلام في النص ---------- */
.lav-summary{border:1px solid var(--lav-border);border-radius:var(--lav-radius);background:var(--lav-surface);overflow:hidden;margin:0 0 12px;
background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius-card);padding:16px 18px;box-shadow:var(--shadow-card);position:relative;overflow:hidden}
:root[data-theme="dark"] .lav-summary{background:var(--surface)}
.lav-summary::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,transparent,var(--brand-2))}
.lav-summary-title b{font-size:var(--lav-font-title);color:var(--lav-text);
font-size:var(--fs-section);font-weight:var(--lav-w-strong)}
.lav-summary-amount small{font-size:var(--lav-font-small);color:var(--lav-muted);
font-size:var(--fs-small);color:var(--muted)}
.lav-summary-amount strong{font-size:var(--fs-page);color:var(--lav-primary);font-variant-numeric:tabular-nums;
font-size:var(--fs-section);color:var(--text)}
.lav-summary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin:14px 0 0}
.lav-summary-grid>div{display:flex;flex-direction:column;gap:4px;padding:10px 16px;border-bottom:1px solid var(--lav-border);border-inline-start:1px solid var(--lav-border);min-width:0;
background:var(--soft);border:1px solid var(--border);border-radius:var(--radius-row);padding:10px 12px;text-align:center;min-width:0}
.lav-summary-grid dt{font-size:var(--lav-font-small);color:var(--lav-muted);
font-size:var(--fs-small);color:var(--muted);font-weight:var(--lav-w-text);margin:0 0 4px}
.lav-summary-grid dd{margin:0;font-size:var(--lav-font-base);color:var(--lav-text);font-weight:600;overflow-wrap:anywhere;
margin:0;font-size:var(--fs-text);font-weight:var(--lav-w-strong);color:var(--text);overflow-wrap:anywhere}
.lav-timeline li{gap:10px}
.lav-timeline-t{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;color:var(--lav-text);font-size:var(--lav-font-base);
font-size:var(--fs-text);font-weight:var(--lav-w-strong)}
.lav-timeline-s{color:var(--lav-muted);font-size:var(--lav-font-small);line-height:var(--lav-line-height);overflow-wrap:anywhere;
font-size:var(--fs-small);color:var(--muted)}

/* ---------- نافذة الإدخال (ق16) ---------- */
.lav-modal-ov{min-width:0;min-height:0;position:fixed;inset:0;box-sizing:border-box;background:var(--lav-overlay);display:flex;align-items:center;justify-content:center;z-index:200000;padding:var(--lav-dialog-padding);animation:lavFade .15s ease;
background:var(--overlay);backdrop-filter:blur(2px)}
.lav-modal{border-radius:var(--radius-card);overflow:hidden}
.lav-modal-h{flex:0 0 auto;overflow-wrap:anywhere;font-size:var(--lav-font-title);color:var(--lav-text);padding:var(--lav-dialog-padding);border-bottom:1px solid var(--lav-border);display:flex;align-items:center;justify-content:space-between;gap:10px;
font-size:var(--fs-section);font-weight:var(--lav-w-strong);color:var(--text);padding:18px 20px;border-bottom:1px solid var(--border);gap:12px}
.lav-modal-h .lav-ic{width:44px;height:44px}
.lav-modal-b{padding:18px 20px;font-size:var(--fs-text)}
.lav-modal-f{flex:0 0 auto;display:flex;flex-wrap:wrap;gap:var(--lav-action-gap);padding:var(--lav-dialog-padding);justify-content:flex-end;border-top:1px solid var(--lav-border);background:var(--lav-surface);
padding:14px 20px;border-top:1px solid var(--border);background:transparent;gap:10px}
.lav-modal .lav-details-bar{justify-content:flex-start;padding-top:14px;margin-top:6px;border-top:1px solid var(--border)}
.lav-modal-t{display:inline-flex;align-items:center;gap:10px;min-width:0;
display:inline-flex;align-items:center;gap:12px}
.lav-modal-close{width:36px;height:36px;border:1px solid var(--border);border-radius:10px;background:var(--surface-solid);color:var(--text)}
.lav-modal-close svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round}
:root[data-theme="dark"] .lav-modal-close{background:rgba(255,255,255,.04)}
.lav-modal,.lav-drawer{--lav-form-cols:2}
.lav-form-grid{gap:16px 18px}
.lav-form-grid>label,.lav-filters-bar>label{display:flex;flex-direction:column;gap:6px;font-size:var(--fs-text);font-weight:var(--lav-w-strong);color:var(--text)}
.lav-form-grid>label>span>i{color:var(--brand-2);font-style:normal}
.lav-field,.lav-modal-input,.lav-pickfield{min-height:44px;border-radius:var(--radius-btn);border:1px solid var(--border);background-color:var(--surface-solid);color:var(--text);
  font-size:var(--fs-text);font-weight:var(--lav-w-text);padding:0 14px}
textarea.lav-field,textarea.lav-modal-input{padding:10px 14px;min-height:88px}
:root[data-theme="dark"] :is(.lav-field,.lav-select,.lav-modal-input,.lav-pickfield){background-color:rgba(255,255,255,.03)}
.lav-field::placeholder,.lav-modal-input::placeholder{color:var(--lav-muted3);font-size:var(--lav-font-base);
color:color-mix(in srgb,var(--muted) 75%,transparent);font-size:var(--fs-text)}
/* مفتوحة: إطار أحمر وهالة */
.lav-field:focus,.lav-modal-input:focus,.lav-pickfield:focus,.lav-pickfield.is-open{border-color:var(--brand-2);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-2) 18%,transparent);outline:none}
/* فيها خطأ: خلفية حمرا خفيفة، والسبب تحتها في مربع */
.lav-field.err,.lav-field[aria-invalid="true"],.lav-modal-input.err{border-color:var(--lav-primary);background:var(--lav-err-bg4);
border-color:var(--brand-2);background-color:color-mix(in srgb,var(--st-rejected) 7%,transparent)}
.lav-form-grid .lav-note.is-err,.lav-details .lav-note.is-err{display:flex;align-items:center;gap:6px;width:fit-content;max-width:100%;margin-top:6px;padding:6px 10px;border-radius:9px;
  border:1px solid color-mix(in srgb,var(--st-rejected) 35%,transparent);background:color-mix(in srgb,var(--st-rejected) 7%,transparent);color:var(--st-rejected);font-size:var(--fs-small);font-weight:var(--lav-w-strong)}
.lav-details .lav-note.is-err{width:auto;font-size:var(--fs-text)}
/* مقفولة: باهتة وعليها قفل */
.lav-field:disabled,.lav-field[readonly]:not([data-lavdate]){opacity:.62;background-color:var(--soft);cursor:not-allowed}
/* أيقونة نوع الخانة جوه الخانة (على أول السطر) */
:is(.lav-modal-ov,.lav-form-grid) :is(input.lav-field:not([type=checkbox]):not([type=radio]):not([type=file]),textarea.lav-field){background-image:var(--fic,none);background-repeat:no-repeat;background-size:18px 18px;background-position:right 14px center;padding-inline-start:42px}
:is(.lav-modal-ov,.lav-form-grid) textarea.lav-field{background-position:right 14px top 12px}
/* الاختيار المحدد في الليلي: أحمر مليان والكلام أبيض */
.lav-pick-pop .is-on,.lav-pick-pop [aria-selected="true"],.lav-seg>.is-on,.lav-choice.is-on{background:var(--brand-soft);color:var(--brand);border-color:color-mix(in srgb,var(--brand-2) 35%,transparent)}
:root[data-theme="dark"] :is(.lav-pick-pop .is-on,.lav-pick-pop [aria-selected="true"],.lav-seg>.is-on,.lav-choice.is-on){background:var(--btn-danger);color:var(--on-color);border-color:transparent}
.lav-pick-pop{background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius-btn);box-shadow:var(--shadow-card)}
input[type=checkbox],input[type=radio]{accent-color:var(--st-approved)}

/* ---------- الرسايل (ق4، ق17): عرض ثابت 420 (الموبايل عرض الشاشة)، الارتفاع مع الكلام، الخطأ ما يختفيش ---------- */
.lav-toast-host{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:200020;display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:none;width:min(var(--lav-toast-w),calc(100vw - 32px));
width:var(--toast-w);top:16px}
.lav-toast{pointer-events:auto;box-sizing:border-box;display:grid;grid-template-columns:var(--lav-toast-icon) 1fr var(--lav-toast-icon);align-items:center;gap:10px;
  width:100%;height:var(--lav-toast-h);padding:12px 14px;background:var(--lav-surface);border:1px solid var(--lav-border);
  border-radius:var(--lav-radius);box-shadow:var(--lav-shadow);font-family:var(--lav-font);text-align:start;
  border-inline-end:4px solid var(--lav-muted);animation:lavToastIn .16s ease;
width:100%;height:auto;min-height:0;display:grid;grid-template-columns:40px minmax(0,1fr) 32px;align-items:start;gap:12px;padding:14px 14px 14px 16px;
  background:var(--surface-solid);border:1px solid var(--border);border-inline-end:4px solid var(--c,var(--st-info));border-radius:14px;box-shadow:var(--shadow-card)}
:root[data-theme="dark"] .lav-toast{background:var(--surface)}
.lav-toast.is-ok{--c:var(--st-approved)} .lav-toast.is-err{--c:var(--st-rejected)} .lav-toast.is-warn{--c:var(--st-pending)} .lav-toast.is-info{--c:var(--st-info)}
.lav-toast-ic{display:inline-flex;align-items:center;justify-content:center;width:var(--lav-toast-icon);height:var(--lav-toast-icon);border-radius:var(--lav-radius-sm);background:var(--lav-soft);color:var(--lav-muted);
width:40px;height:40px;border-radius:var(--radius-icon);display:grid;place-items:center;background:color-mix(in srgb,var(--c) 22%,transparent);color:var(--c)}
:root[data-theme="dark"] .lav-toast-ic{color:var(--on-color);background:linear-gradient(145deg,color-mix(in srgb,var(--c) 85%,white),color-mix(in srgb,var(--c) 72%,black))}
.lav-toast.is-ok .lav-toast-ic,.lav-toast.is-err .lav-toast-ic,.lav-toast.is-warn .lav-toast-ic,.lav-toast.is-info .lav-toast-ic{background:color-mix(in srgb,var(--c) 22%,transparent);color:var(--c)}
:root[data-theme="dark"] :is(.lav-toast.is-ok,.lav-toast.is-err,.lav-toast.is-warn,.lav-toast.is-info) .lav-toast-ic{color:var(--on-color);background:linear-gradient(145deg,color-mix(in srgb,var(--c) 85%,white),color-mix(in srgb,var(--c) 72%,black))}
.lav-toast-tt{font-size:var(--lav-font-base);color:var(--lav-text);line-height:1.35;
font-size:var(--fs-title-sm);font-weight:var(--lav-w-strong);color:var(--text);display:block}
.lav-toast-ms{font-size:var(--fs-text);color:var(--text);display:block;overflow:visible;-webkit-line-clamp:unset;line-clamp:unset;white-space:pre-line;overflow-wrap:anywhere}
.lav-toast-ref{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:4px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface-solid);color:var(--text);font-size:var(--fs-small);font-weight:var(--lav-w-strong);cursor:pointer}
.lav-toast-ref svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.lav-toast-hint{display:block;margin-top:6px;font-size:var(--fs-small);color:var(--muted)}
.lav-toast-bar{display:block;height:3px;border-radius:3px;background:var(--c);margin-top:8px;transform-origin:right;animation:lavToastBar var(--toast-ms,4000ms) linear forwards}
@keyframes lavToastBar{from{transform:scaleX(1)}to{transform:scaleX(0)}}
.lav-toast-x{appearance:none;border:0;background:transparent;color:var(--lav-muted);cursor:pointer;width:var(--lav-toast-icon);height:var(--lav-toast-icon);border-radius:var(--lav-radius-sm);display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-title-sm);line-height:1;
width:32px;height:32px;border:1px solid var(--border);border-radius:9px;background:transparent;color:var(--text);font-size:var(--fs-title-sm)}
/* نافذة التأكيد: أيقونة كبيرة، وسؤال واضح، وكود الحاجة؛ الرفض فيه خانة سبب إجبارية */
.lav-message-modal .lav-modal{border-inline-end:4px solid var(--lav-muted);
--lav-modal-max:520px;border-inline-end:1px solid var(--border)}
.lav-message-modal .lav-confirm-top{padding-bottom:0;overflow:visible}
.lav-confirm-ic{display:flex;justify-content:center;margin:4px 0 12px}
.lav-confirm-ic .lav-ic{width:64px;height:64px;border-radius:16px}
.lav-confirm-ic .lav-ic svg{width:28px;height:28px}
.lav-message-modal .lav-modal-h{justify-content:center;text-align:center;border-bottom:0;padding-bottom:0;font-size:var(--fs-section)}
.lav-message-modal .lav-modal-b{white-space:pre-line;
text-align:center;white-space:pre-line}
.lav-message-modal .lav-modal-b .lav-confirm-code{font-weight:var(--lav-w-strong)}
.lav-message-modal .lav-modal-input{text-align:start;margin-top:14px}
.lav-message-modal .lav-confirm-lbl{display:block;text-align:start;margin-top:14px;font-weight:var(--lav-w-strong);font-size:var(--fs-text)}
.lav-message-modal .lav-confirm-lbl i{color:var(--brand-2);font-style:normal}
.lav-message-modal .lav-modal-f{display:grid;grid-template-columns:1fr 1fr;justify-content:stretch}
.lav-message-modal .lav-modal-f>.lav-modal-btn{width:100%}
.lav-message-modal .lav-modal-f>.lav-modal-btn:only-child{grid-column:1/-1}

/* ---------- الملاحظات والفارغ والتحميل ---------- */
.lav-note{display:flex;align-items:flex-start;gap:9px;text-align:start;font-size:var(--lav-table-font);line-height:var(--lav-line-height);padding:11px 13px;border-radius:var(--lav-radius-sm);border:1px solid var(--lav-border);background:var(--lav-soft);color:var(--lav-muted2);margin:12px 0;
border-radius:var(--radius-btn);font-size:var(--fs-text);font-weight:var(--lav-w-text)}
.lav-empty{border-radius:var(--radius-btn);font-size:var(--fs-text);background:var(--soft);border-color:var(--border)}
/* شريط الخطوات (ق25): خلص أخضر، الحالية أحمر، الجاية باهتة، وخط بين الخطوات */
.lav-steps{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}
:root[data-theme="dark"] .lav-steps{background:var(--surface)}
.lav-steps li{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;font-size:var(--lav-font-small);color:var(--lav-muted);
flex-direction:row;align-items:center;gap:10px;flex:1 1 0;min-width:0;text-align:start;font-size:var(--fs-text);font-weight:var(--lav-w-strong)}
.lav-steps li:last-child{flex:0 0 auto}

.lav-steps li:not(:last-child)::after{content:"";flex:1 1 auto;min-width:16px;height:2px;border-radius:2px;background:var(--border)}
.lav-steps li.is-done::after{background:var(--st-approved)}
.lav-steps b{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;border:1px solid var(--lav-border);background:var(--lav-surface);
flex:none;width:36px;height:36px;border-radius:10px;font-weight:var(--lav-w-strong)}
@media (max-width:640px){.lav-steps li:not(.is-cur) span{display:none}}
.lav-steps .is-done b{background:var(--lav-ok);border-color:var(--lav-ok);color:var(--lav-surface);
background:var(--btn-save);border-color:transparent;color:var(--on-color)}
.lav-steps .is-cur b{background:var(--lav-primary);border-color:var(--lav-primary);color:var(--lav-surface);
background:var(--btn-danger);border-color:transparent;color:var(--on-color);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-2) 18%,transparent)}
.lav-steps li:not(.is-done):not(.is-cur){opacity:.55}
.lav-filters-bar{gap:10px;padding:12px;border-radius:var(--radius-card);background:var(--surface-solid);border:1px solid var(--border)}
:root[data-theme="dark"] .lav-filters-bar{background:var(--surface)}

/* ---------- الرئيسية (ق28) ---------- */

:root[data-theme="dark"] .lavhm-task{background:rgba(255,255,255,.035)}
.lavhm-task .ic{width:30px;height:30px;border-radius:var(--lav-radius-sm);display:flex;align-items:center;justify-content:center;flex:none;
--c:var(--c-slate);width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 22%,transparent);color:var(--c)}
.lavhm-task .tx{flex:1;font-size:var(--lav-font-base);color:var(--lav-text);min-width:0;
font-size:var(--fs-text);font-weight:var(--lav-w-strong)}
.lavhm-task .cnt{font-size:var(--lav-font-small);background:var(--lav-soft);color:var(--lav-muted2);border-radius:var(--lav-radius-pill);padding:2px 10px;min-width:32px;text-align:center;
font-size:var(--fs-small)}
.lavhm-task.is-late{border-color:color-mix(in srgb,var(--brand-2) 55%,transparent);box-shadow:inset -3px 0 0 var(--brand-2)}
.lavhm-task.is-late .tx{color:var(--brand)}
.lavhm-hero{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;min-height:clamp(130px,17vw,190px);padding:18px 20px;margin-bottom:12px;border:1px solid var(--lav-border);border-radius:var(--lav-radius);overflow:hidden;background:var(--lav-surface) url("home-hero.webp") center/cover no-repeat;
min-height:0;padding:4px 0;margin:0;border:0;background:none;box-shadow:none;border-radius:0}
.lavhm-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(to left,rgba(255,255,255,.92) 0%,rgba(255,255,255,.75) 38%,rgba(255,255,255,0) 68%);pointer-events:none;
display:none}
.lavhm-hero-l h1{margin:0;font-size:var(--lav-h1);color:var(--lav-text);line-height:1.4;
font-size:var(--fs-page);font-weight:var(--lav-w-strong)}
.lavhm-hero-l .sub{font-size:var(--lav-font-small);color:var(--lav-muted);
font-size:var(--fs-text);color:var(--muted)}
.lavhm-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.lavhm-greet h1{font-size:var(--fs-page);font-weight:var(--lav-w-strong);margin:0}
.lavhm-greet p{font-size:var(--fs-text);color:var(--muted);margin:2px 0 0}
.lavhm-msg{position:static;width:min(420px,100%);padding:14px 16px;display:flex;flex-direction:column;gap:6px}
.lavhm-msg-t{display:inline-flex;align-items:center;gap:6px;font-size:var(--lav-font-small);color:var(--lav-primary);
display:flex;align-items:center;justify-content:center;gap:8px;
display:flex;align-items:center;gap:10px;font-size:var(--fs-text)}
.lavhm-msg-t .lav-act{pointer-events:auto;
margin-inline-start:auto}
.lavhm-msg-b{max-width:560px;padding:8px 16px;border-radius:var(--lav-radius);background:color-mix(in srgb,var(--lav-surface) 82%,transparent);font-size:var(--lav-font-base);color:var(--lav-text);line-height:1.7;
font-size:var(--fs-text);color:var(--text)}
.lavhm-row.two{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px;align-items:start}
.lavhm-row.two>.lav-page-card>.lav-section-title{justify-content:flex-start}
.lavhm-card-link{font-size:var(--lav-font-small);color:var(--lav-primary);cursor:pointer;text-decoration:none;white-space:nowrap;
margin-inline-start:auto;font-size:var(--fs-small);font-weight:var(--lav-w-text);color:var(--brand-2);text-decoration:none}

.lavhm-task{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--lav-border);cursor:pointer;color:inherit;text-decoration:none;background:none;border-inline:0;border-top:0;width:100%;text-align:start;font:inherit;
border:1px solid var(--border);border-radius:var(--radius-row);background:var(--surface-solid);min-height:var(--row-h);margin-bottom:var(--row-gap);
display:grid;grid-template-columns:36px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:8px 10px;text-decoration:none;color:var(--text)}
.lavhm-row.two .lav-cmds{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:1024px){.lavhm-row.two{grid-template-columns:1fr}}

/* ---------- مركز التواصل والشات (ق21): قايمة وشات بس على عرض الشاشة، رسايلنا يمين بوردي فاتح ---------- */

.lav-inbox-cols{height:calc(100dvh - var(--lav-topbar-height,110px) - 150px);min-height:480px;grid-template-columns:var(--lav-inbox-list-w) 6px minmax(0,1fr);overflow:hidden}
.lav-inbox-cols.has-side{grid-template-columns:var(--lav-inbox-list-w) 6px minmax(0,1fr) 300px}
.lav-inbox-side{display:none}
.lav-inbox-cols.has-side .lav-inbox-side{display:block}
.lav-inbox-list{overflow-y:auto;border-inline-end:1px solid var(--lav-border);min-width:0;
background:transparent;padding:10px;display:flex;flex-direction:column;gap:8px;overflow:hidden;min-height:0}
.lav-inbox-bar{display:flex;flex-direction:column;gap:8px;min-width:0;
gap:8px;flex:none}
.lav-inbox-bar>[data-filters]{display:flex;flex-direction:column;gap:8px;min-width:0}
.lav-inbox-bar .lav-details-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0}
.lav-inbox-bar .lav-details-bar>[data-newconv]{min-width:0;max-width:100%;white-space:normal}
.lav-inbox-bar .lav-details-bar>[data-online]{flex-shrink:0}

.lav-inbox-bar .lav-subtabs>*{min-width:0;flex:0 0 auto;padding:0 10px;height:34px;min-height:34px}

.lav-inbox-bar .lav-filters-bar>label{flex:1 1 140px}
.lav-inbox-bar .lav-filters-bar>label>span{display:none}
.lav-inbox-bar .lav-filters-bar.is-folded:not(.is-open)>label:nth-of-type(n/**/+2),.lav-inbox-bar .lav-filters-bar.is-folded:not(.is-open)>.lav-check{display:none}
.lav-inbox-bar .lav-filters-bar .lav-filter-toggle{display:inline-flex;min-height:44px;padding:0 12px}
.lav-inbox-bar .lav-filters-bar .lav-filter-toggle>span{display:none}
.lav-inbox-bar .lav-filters-bar>.lav-btn{min-height:44px;padding:0 12px}
.lav-inbox-bar .lav-filters-bar>[data-filter-go]>span{display:none}
.lav-inbox-bar .lav-filters-bar{padding:0;border:0;background:transparent;box-shadow:none;margin:0;flex-wrap:wrap;
flex-wrap:nowrap}
.lav-inbox-bar .lav-filters-bar.is-open{flex-wrap:wrap}
.lav-inbox-bar .lav-filters-bar.is-folded:not(.is-open)>label:first-of-type{flex:1 1 0;min-width:0}
.lav-inbox-bar .lav-filters-bar>[data-filter-go],.lav-inbox-bar .lav-filters-bar>.lav-filter-toggle{flex-shrink:0}
.lav-inbox-items-box{flex:1 1 auto;overflow-y:auto;min-height:0}
#lav_content:has(.lav-inbox) .lav-page-head{display:none}
#lav_content:has(.lavhm-greet) .lav-page-head:not(:has(.lav-page-head-actions>*)){display:none}
.lav-inbox-item{display:flex;flex-direction:column;gap:3px;width:100%;padding:10px 12px;border:0;border-bottom:1px solid var(--lav-border);background:transparent;text-align:start;font:inherit;color:var(--lav-text);cursor:pointer;
border:1px solid var(--border);border-radius:14px;margin-bottom:8px;background:var(--surface-solid);padding:10px 12px}
:root[data-theme="dark"] .lav-inbox-item{background:rgba(255,255,255,.035)}
.lav-inbox-item.is-active{background:var(--lav-primary-soft);
border-color:color-mix(in srgb,var(--brand-2) 55%,transparent);background:var(--brand-soft)}
.lav-inbox-item-top b{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
font-size:var(--fs-text);font-weight:var(--lav-w-strong)}
.lav-inbox-head{min-height:56px;padding:8px 14px;background:var(--surface-solid);border-bottom:1px solid var(--border);white-space:nowrap}
:root[data-theme="dark"] .lav-inbox-head{background:transparent}
.lav-inbox-title{font-size:var(--fs-title-sm);font-weight:var(--lav-w-strong)}
.lav-inbox-msgs{flex:1 1 auto;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px;background:var(--lav-surface-2);font-size:var(--lav-font-base);
background:transparent;padding:16px}
.lav-inbox-cols[data-font="-2"] .lav-inbox-msgs,.lav-inbox-cols[data-font="-1"] .lav-inbox-msgs{font-size:var(--fs-small)}
.lav-inbox-cols[data-font="0"] .lav-inbox-msgs{font-size:var(--fs-text)}
.lav-inbox-cols[data-font="1"] .lav-inbox-msgs{font-size:var(--fs-title-sm)}
.lav-inbox-cols[data-font="2"] .lav-inbox-msgs,.lav-inbox-cols[data-font="3"] .lav-inbox-msgs{font-size:var(--fs-section)}
.lav-msg{border-radius:14px;padding:10px 14px;background:var(--surface-solid);border:1px solid var(--border);box-shadow:0 2px 6px rgba(15,23,42,.04);max-width:72%}
:root[data-theme="dark"] .lav-msg{background:rgba(255,255,255,.06)}
.lav-msg.is-out,.lavp-chat .lav-msg.is-mine,.lav-chat-msg.is-mine{background:var(--brand-soft);border-color:color-mix(in srgb,var(--brand-2) 22%,transparent)}
/* E5.8 (owner, image 10_chat_dark): ours a soft burgundy, theirs dark glass — clearly apart */
:root[data-theme="dark"] :is(.lav-msg.is-out,.lavp-chat .lav-msg.is-mine,.lav-chat-msg.is-mine){background:linear-gradient(180deg,rgba(150,32,48,.72),rgba(112,22,34,.72));border-color:rgba(255,120,120,.32);box-shadow:0 4px 14px rgba(120,24,36,.35)}
:root[data-theme="dark"] :is(.lav-msg.is-in,.lavp-chat .lav-msg:not(.is-mine),.lav-chat-msg:not(.is-mine)):not(.is-note){background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12);backdrop-filter:blur(6px)}
.lav-msg.is-note{align-self:center;background:var(--lav-warning-bg);border-color:var(--lav-warn-border);max-width:90%;
background:color-mix(in srgb,var(--st-pending) 12%,transparent);border-color:color-mix(in srgb,var(--st-pending) 35%,transparent)}
.lav-msg-meta small{color:var(--lav-muted);font-size:var(--lav-font-small);
font-size:var(--fs-small)}
.lav-inbox-compose{border-top:1px solid var(--lav-border);padding:8px 10px;display:flex;flex-direction:column;gap:6px;background:var(--lav-surface);
background:var(--surface-solid);border-top:1px solid var(--border);padding:8px 12px}
:root[data-theme="dark"] .lav-inbox-compose{background:transparent}
.lav-inbox-compose-row textarea{min-height:44px;max-height:140px}
.lavp-chat-msgs{display:flex;flex-direction:column;gap:8px;max-height:60vh;overflow-y:auto;padding:10px;background:var(--lav-surface-2);border:1px solid var(--lav-border);border-radius:var(--lav-radius);
background:transparent;border-radius:var(--radius-card)}

/* ---------- E5.10 (EB-4): الصفحتان العامتان — التقييم وإلغاء الاشتراك، على نفس كارت صفحة التحقق ---------- */
.lav-public-card{max-width:520px}
.lav-public-error{margin:8px 0 0;font-size:var(--fs-small);color:var(--st-rejected);text-align:center}
.lav-public-form{display:flex;flex-direction:column;gap:14px;margin-top:14px}
.lav-public-item{margin:0;padding:12px;border:1px solid var(--border);border-radius:var(--radius-row);background:var(--soft)}
.lav-public-item legend{padding:0 6px;font-size:var(--fs-text);font-weight:var(--lav-w-strong)}
.lav-public-scores{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.lav-public-score{position:relative;width:44px;height:44px}
.lav-public-score input,.lav-public-score input.lav-field{position:absolute;inset:0;width:100%;height:100%;min-height:0;padding:0;border:0;opacity:0;margin:0;cursor:pointer}
.lav-public-score span{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--border);border-radius:var(--radius-btn);background:var(--surface-solid);font-size:var(--fs-title-sm);font-weight:var(--lav-w-strong);color:var(--text)}
.lav-public-score input:checked+span{background:var(--btn-save);color:var(--on-color);border-color:transparent}
.lav-public-score input:focus-visible+span{box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 30%,transparent)}
.lav-public-comment{display:flex;flex-direction:column;gap:6px}
.lav-public-comment>span{font-size:var(--fs-small);color:var(--muted)}
.lav-public-scale{margin:0;font-size:var(--fs-small);color:var(--muted);text-align:center}
.lav-public-form .lav-login-btn{height:44px;min-height:44px;font-size:var(--fs-text);width:100%}
.lav-public-form .lav-login-btn.lav-btn-danger{background:var(--btn-danger);color:var(--on-color);border:0}
.lav-news-body{white-space:normal;line-height:1.8}

/* ---------- الصفحة العامة / التحقق بالـQR (ق24): سليم أو غير موجود، أيقونة كبيرة وبيانات كروت ---------- */
.lav-verify-state{display:inline-block;margin:10px 0 0;padding:4px 14px;border-radius:999px;font-size:var(--lav-font-base);font-weight:var(--lav-w-strong);
display:flex;flex-direction:column;align-items:center;gap:14px;margin:14px 0 0;padding:0;border-radius:0;background:none;font-size:var(--fs-section);font-weight:var(--lav-w-strong)}
.lav-verify-state::before{content:"";width:72px;height:72px;border-radius:18px;background:var(--vic) center/34px 34px no-repeat,var(--vg,var(--btn-save));box-shadow:0 10px 24px color-mix(in srgb,var(--vc,var(--c-green)) 35%,transparent)}

.lav-login-card:has(.lav-verify-state.is-ok){border-top:4px solid var(--st-approved)}
.lav-login-card:has(.lav-verify-state.is-bad){border-top:4px solid var(--st-rejected)}
.lav-login-card:has(.lav-verify-state.is-warn){border-top:4px solid var(--st-pending)}
.lav-verify-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0;border:0;background:none}
.lav-verify-list>div{display:flex;flex-direction:column;gap:2px;min-width:0;
background:var(--soft);border:1px solid var(--border);border-radius:var(--radius-row);padding:10px 12px;text-align:center;align-items:center}
.lav-verify-list>div:first-child{grid-column:1/-1}
.lav-verify-list dt{font-size:var(--lav-font-small);color:var(--lav-muted);
font-size:var(--fs-small);color:var(--muted)}
.lav-verify-list dd{margin:0;font-weight:var(--lav-w-strong);color:var(--lav-text);overflow-wrap:anywhere;
font-size:var(--fs-text)}
.lav-verify-note{margin:0;font-size:var(--lav-font-small);color:var(--lav-muted);text-align:center;
font-size:var(--fs-small)}

/* ---------- الدخول والبوابة على نفس الأرضية ---------- */
.lav-login-wrap{background:transparent}
.lav-login-side{background:transparent}
/* ---------- E5.9 (owner's image of the sign-in screen, 23 Oct 2026): the wordmark as text (no logo image), the figures in three
   equal columns without divider lines, and every text line centred in a 44px row of the grid: the card starts on a grid line
   (round() of the centring offset to 44), its rows are 44px tall, and the dividers are shadows so nothing shifts ---------- */
.is-signin.lav-login-wrap{align-items:flex-start;align-content:flex-start;gap:44px 160px;padding:44px 24px;padding-top:round(nearest,calc(50dvh - 242px),44px)}
.is-signin .lav-login-card{flex:0 1 424px;position:relative;padding:0 28px;gap:0;border:0;outline:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow:visible}
/* the grey hint sits by the icon on the right, as in the owner's image; typed text is still LTR */
.is-signin .lav-login-field input.lav-field:placeholder-shown{direction:rtl;text-align:right}
.is-signin .lav-login-card::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;border-radius:var(--radius-card) var(--radius-card) 0 0;background:var(--brand)}
.is-signin .lav-login-brand{display:block;height:88px;padding:0;border:0;text-align:center;box-shadow:0 1px 0 var(--border)}
.is-signin .lav-login-brand b,.is-signin .lav-login-brand span{display:block;height:44px;line-height:44px;letter-spacing:4px;direction:ltr}
.is-signin .lav-login-brand b{position:relative;font-size:var(--fs-section);font-weight:var(--lav-w-strong);color:var(--brand)}
.is-signin .lav-login-brand b::after{content:"";position:absolute;left:50%;bottom:0;width:44px;height:2px;margin-left:-22px;border-radius:1px;background:var(--brand)}
.is-signin .lav-login-brand span{font-size:var(--fs-small);color:var(--muted);font-weight:var(--lav-w-text)}
.is-signin .lav-login-head{height:88px}
.is-signin .lav-login-head h1,.is-signin .lav-login-head p{margin:0;height:44px;line-height:44px}
.is-signin .lav-login-head h1{font-size:var(--fs-section)}
.is-signin .lav-login-head p{font-size:var(--fs-small);color:var(--muted)}
.is-signin .lav-login-form{gap:0}
.is-signin .lav-login-form>label{gap:0;font-size:var(--fs-text)}
.is-signin .lav-login-form>label>span:first-child{display:block;height:44px;line-height:44px}
.is-signin .lav-login-field{height:44px}
.is-signin .lav-login-field .lav-field{height:44px;min-height:44px;font-size:var(--fs-text)}
.is-signin .lav-login-field>svg.is-user{color:var(--brand)}
.is-signin .lav-login-row{height:44px;align-items:center;font-size:var(--fs-small)}
.is-signin .lav-login-row,.is-signin .lav-login-row a{color:var(--brand);font-weight:var(--lav-w-text);justify-content:center}
.is-signin .lav-login-btn{height:44px;min-height:44px;font-size:var(--fs-text)}
.is-signin .lav-login-form .lav-login-btn.is-brand{background:var(--btn-danger);color:var(--on-color);border:0}
.is-signin .lav-login-msg{margin:0;min-height:44px;display:flex;align-items:center;justify-content:center}
.is-signin .lav-login-msg:empty{display:none}
.is-signin .lav-login-foot{margin:0;padding:0;height:44px;line-height:44px;border:0;box-shadow:0 -1px 0 var(--border);font-size:var(--fs-small);color:var(--muted);direction:ltr}
.is-signin .lav-login-side{flex:0 1 392px;gap:0;padding-top:44px;align-items:stretch}
.is-signin .lav-login-mark{display:flex;flex-direction:column;align-items:flex-start;direction:ltr;text-align:left}
.is-signin .lav-login-mark b,.is-signin .lav-login-mark span{display:block;height:44px;line-height:44px;letter-spacing:4px}
.is-signin .lav-login-mark b{font-size:var(--fs-page);font-weight:var(--lav-w-strong);color:var(--brand)}
.is-signin .lav-login-mark span{font-size:var(--fs-small);color:var(--muted);font-weight:var(--lav-w-text)}
.is-signin .lav-login-side .t{margin:0;font-size:var(--fs-kpi);font-weight:var(--lav-w-strong);line-height:44px}
.is-signin .lav-login-side .lav-login-bar{width:44px;height:3px;margin:20px 0 21px;border-radius:2px;background:var(--brand)}
.is-signin .lav-login-side .s{margin:0;font-size:var(--fs-text);color:var(--muted);line-height:44px;white-space:nowrap}
.is-signin .lav-login-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0;padding:0;border:0}
.is-signin .lav-login-stats>div{display:block;padding:0;border:0;text-align:center}
.is-signin .lav-login-stats b,.is-signin .lav-login-stats span{display:block;height:44px;line-height:44px}
.is-signin .lav-login-stats b{font-size:var(--fs-section);font-weight:var(--lav-w-strong);color:var(--brand)}
.is-signin .lav-login-stats span{font-size:var(--fs-small);color:var(--muted);white-space:nowrap}
.is-signin .lav-login-stats .is-team{max-width:none}
.is-signin .lav-login-stats .is-team b{display:flex;align-items:center;justify-content:center}
.is-signin .lav-login-stats .is-team svg{width:18px;height:18px;fill:none;stroke:var(--brand-2);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:1100px){
  .is-signin.lav-login-wrap{gap:44px;align-items:center}
  .is-signin .lav-login-side{width:min(100%,424px);padding-top:0;align-items:center}
  .is-signin .lav-login-mark{align-items:center;text-align:center}
  .is-signin .lav-login-side .t{text-align:center}
  .is-signin .lav-login-side .lav-login-bar{margin-inline:auto}
  .is-signin .lav-login-side .s{text-align:center}
}
@media (max-width:640px){
  .is-signin.lav-login-wrap{display:block;padding:44px 16px 24px}
  .is-signin .lav-login-card{width:100%;padding:0 18px}
}
/* ---------- E5.9: التقويم والحجوزات (صورة القيود 15، ق27) — الغرف صفوف والساعات أعمدة؛ كل حجز كارت بلون حالته والكلام أبيض
   في النص؛ خط أحمر للساعة دلوقتي؛ أرقام الساعات على خط بداية الساعة بالظبط؛ على الموبايل شبكة الساعات تتسحب وعمود الغرف ثابت ---------- */
.lav-sched{--cal-lbl:200px;--cal-row:80px;--cal-gap:16px}

.lav-sched-grid{position:relative;display:grid;grid-template-columns:var(--cal-lbl) minmax(0,1fr);row-gap:var(--cal-gap);padding-bottom:4px}
.lav-sched-head{display:contents}
.lav-sched-corner{position:sticky;inset-inline-start:0;z-index:3;background:var(--surface-solid);height:40px}
:root[data-theme="dark"] .lav-sched-corner,:root[data-theme="dark"] .lav-sched-lbl{background:rgba(30,12,17,.98)}
.lav-sched-hours{position:relative;height:40px}
.lav-sched-h{position:absolute;top:0;inset-inline-start:calc(var(--p) * 1%);height:40px;display:flex;align-items:center;gap:3px;font-size:var(--fs-text);font-weight:var(--lav-w-strong);color:var(--text);transform:translateX(50%);white-space:nowrap;z-index:4}
html[dir="ltr"] .lav-sched-h{transform:translateX(-50%)}
.lav-sched-h i{font-style:normal;font-size:var(--fs-small);color:var(--muted)}
.lav-sched-row{display:contents}
.lav-sched-lbl{position:sticky;inset-inline-start:0;z-index:2;display:flex;align-items:center;gap:10px;min-height:var(--cal-row);padding-inline-end:14px;background:var(--surface-solid)}
.lav-sched-lbl>div{display:flex;flex-direction:column;min-width:0}
.lav-sched-lbl b{font-size:var(--fs-text);font-weight:var(--lav-w-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lav-sched-lbl span{font-size:var(--fs-small);color:var(--muted)}
.lav-sched-lane{position:relative;min-height:var(--cal-row);border:1px solid var(--occ-free-line);border-radius:var(--radius-row);background-color:var(--occ-free);
  background-image:linear-gradient(to left,var(--border) 1px,transparent 1px);background-size:calc(100% / var(--n)) 100%;background-position:right top}
html[dir="ltr"] .lav-sched-lane{background-image:linear-gradient(to right,var(--border) 1px,transparent 1px);background-position:left top}
.lav-sched-item{--c:var(--st-draft);position:absolute;top:6px;bottom:6px;inset-inline-start:calc(var(--s) * 1%);width:calc(var(--w) * 1%);min-width:0;margin:0;padding:4px 10px;border:0;border-radius:var(--radius-icon);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;overflow:hidden;cursor:pointer;text-align:center;font-family:inherit;
  /* E8: an occupied slot is light red with a red mark at its start (not colour-only); a tentative one amber with a hatch */
  color:var(--occ-busy-ink);background:var(--occ-busy);border:1px solid var(--occ-busy-line);box-shadow:none;z-index:1}
.lav-sched-item::before{content:"";position:absolute;inset-block:6px;inset-inline-start:4px;width:3px;border-radius:2px;background:var(--occ-busy-mark)}
.lav-sched-item:focus-visible{outline:2px solid var(--brand-2);outline-offset:2px}
.lav-sched-item b{font-size:var(--fs-text);font-weight:var(--lav-w-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.lav-sched-item span{font-size:var(--fs-small);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;opacity:.95}
.lav-sched-item.warn{color:var(--occ-held-ink);background:repeating-linear-gradient(135deg,var(--occ-held) 0 6px,color-mix(in srgb,var(--occ-held-line) 45%,var(--occ-held)) 6px 9px);border:1px dashed var(--occ-held-line)}
.lav-sched-item.warn::before{display:none}
.lav-sched-item:is(.canceled,.archived,.err){color:var(--muted);background:var(--surface-solid);border:1px dashed var(--border);text-decoration:line-through}
.lav-sched-item:is(.canceled,.archived,.err)::before{display:none}
.lav-sched-now{position:absolute;top:30px;bottom:0;width:2px;z-index:2;pointer-events:none;background:var(--brand-2);box-shadow:0 0 10px color-mix(in srgb,var(--brand-2) 60%,transparent);
  inset-inline-start:calc(var(--cal-lbl) + (100% - var(--cal-lbl)) * var(--p))}
.lav-sched-now span{position:absolute;top:-14px;inset-inline-start:1px;transform:translateX(50%);padding:1px 6px;border-radius:var(--radius-badge);background:var(--brand-2);color:var(--on-color);font-size:var(--fs-small);font-weight:var(--lav-w-strong);white-space:nowrap;line-height:1.6}
html[dir="ltr"] .lav-sched-now span{transform:translateX(-50%)}
.lav-sched-empty{margin:12px 0 0;padding:14px;text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:var(--radius-row);font-size:var(--fs-text)}
.lav-sched-legend{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:18px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border);font-size:var(--fs-small);font-weight:var(--lav-w-strong)}
.lav-sched-legend span{--c:var(--st-draft);display:inline-flex;align-items:center;gap:6px;color:var(--text)}
.lav-sched-legend span i{width:18px;height:12px;border-radius:3px;background:var(--c)}
.lav-sched-legend .occ-free i{background:var(--occ-free);border:1px solid var(--occ-free-line)}
.lav-sched-legend .occ-busy i{background:var(--occ-busy);border:1px solid var(--occ-busy-line);box-shadow:inset 3px 0 0 var(--occ-busy-mark)}
.lav-sched-legend .occ-held i{background:repeating-linear-gradient(135deg,var(--occ-held) 0 4px,var(--occ-held-line) 4px 6px);border:1px dashed var(--occ-held-line)}
.lav-sched-legend .ok{--c:var(--st-approved)}.lav-sched-legend .warn{--c:var(--st-pending)}.lav-sched-legend .err{--c:var(--st-rejected)}.lav-sched-legend .info{--c:var(--st-info)}
.lav-sched-legend .canceled{--c:var(--st-canceled)}.lav-sched-legend .archived{--c:var(--st-archived)}
/* the day bar of the calendar page: the arrows, the date, «النهارده» */
.lav-sched-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:14px;padding:12px 16px}
.lav-sched-views{margin-inline-start:auto}
.lav-sched-views .lav-subtabs{margin:0}
/* the week (the owner's answer of 23 Oct): rooms as rows, the seven days as columns, the cards stacked in each cell without the second line */
.lav-sched-grid.is-week{grid-template-columns:var(--cal-lbl) repeat(7,minmax(120px,1fr));column-gap:6px}
.lav-sched-dh{display:flex;flex-direction:column;align-items:center;justify-content:center;height:40px;line-height:1.2}
.lav-sched-dh b{font-size:var(--fs-text);font-weight:var(--lav-w-strong)}
.lav-sched-dh span{font-size:var(--fs-small);color:var(--muted)}
.lav-sched-dh.is-today b{color:var(--brand)}
.lav-sched-cell{display:flex;flex-direction:column;gap:4px;min-height:var(--cal-row);padding:6px;border:1px solid var(--border);border-radius:var(--radius-row);background:var(--soft)}
.lav-sched-cell.is-today{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand-2) 45%,transparent)}
.lav-sched-item.is-week{position:static;inset-inline-start:auto;width:100%;min-height:32px;padding:4px 8px}
/* the month: the grid of days, each with its bookings' count; a day opens its day view */
.lav-sched-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.lav-sched-mh{height:32px;display:flex;align-items:center;justify-content:center;font-size:var(--fs-small);font-weight:var(--lav-w-strong);color:var(--muted)}
.lav-sched-mc{appearance:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:64px;margin:0;padding:6px;border:1px solid var(--border);border-radius:var(--radius-row);background:var(--soft);color:var(--text);font-family:var(--lav-font);cursor:pointer}
.lav-sched-mc.is-pad{border-color:transparent;background:transparent;cursor:default}
.lav-sched-mc b{font-size:var(--fs-title-sm);font-weight:var(--lav-w-strong)}
.lav-sched-mc span{font-size:var(--fs-small);color:var(--muted)}
.lav-sched-mc.has span{color:var(--text);font-weight:var(--lav-w-strong)}
.lav-sched-mc.has{border-color:color-mix(in srgb,var(--brand-2) 40%,var(--border))}
.lav-sched-mc.is-today{box-shadow:inset 0 0 0 2px var(--brand-2)}
.lav-sched-mc:focus-visible{outline:2px solid var(--brand-2);outline-offset:2px}
.lav-sched-bar .lav-sched-date{font-size:var(--fs-title-sm);font-weight:var(--lav-w-strong);padding:0 6px;white-space:nowrap}
.lav-sched-bar .lav-btn.is-cal-arrow{width:44px;min-width:44px;padding:0;justify-content:center}
.lav-sched-bar .lav-btn.is-cal-arrow span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.lav-sched-bar .lav-btn.is-cal-arrow.is-next svg{transform:rotate(90deg)}
.lav-sched-bar .lav-btn.is-cal-arrow.is-prev svg{transform:rotate(-90deg)}
@media (max-width:640px){
  .lav-sched{--cal-lbl:124px;--cal-row:64px;--cal-gap:10px}
  .lav-sched-grid{min-width:760px}
  .lav-sched-grid.is-week{min-width:900px}
  .lav-sched-views{margin-inline-start:0;width:100%}
  .lav-sched-views .lav-subtabs{display:flex;width:100%;overflow:hidden}
  .lav-sched-views .lav-subtab{flex:1 1 0;min-width:0}
  .lav-sched-mc{min-height:52px;padding:4px}
  .lav-sched-lbl{padding-inline-end:8px;gap:6px}
  .lav-sched-lbl .lav-ic--sm{width:26px;height:26px}
  .lav-sched-item{padding:2px 6px;border-radius:9px}
  .lav-sched-bar .lav-sched-date{flex:1 1 0;text-align:center;white-space:normal}
  .lav-sched-bar .lav-btn[data-cal-today]{flex:1 1 100%}
}
.lavp-auth{background:transparent}
.lavp-head{background:var(--surface-solid)}
:root[data-theme="dark"] .lavp-head{background:rgba(12,5,7,.88)}

/* ---------- الموبايل (ق18): كارت بسطرين، الإجراءات الزيادة من «⋯»، زرار الإضافة ثابت، شريط تحت ---------- */

.lav-acts-more{display:none}
@media (max-width:640px){
  
  
  
  
  /* E9: the app name stays visible; shell.css owns the compact header. */
  
  .lavx-logowrap{border:0;padding:0}
  .lavx-logo-word{letter-spacing:4px;font-size:var(--fs-title-sm)}
  
  .lav-kpis{display:flex;overflow-x:auto;gap:10px;scroll-snap-type:x mandatory;padding-bottom:4px}
  .lav-kpis>.lav-kpi{flex:0 0 46%;scroll-snap-align:start;min-height:0;padding:12px}
  .lav-kpi-ic{width:40px;height:40px}
  /* E5.10.4 FINAL (D-OVERFLOW ops-13-balances 390): a figure never breaks inside its tile; in a window one tile and the next one's edge */
  .lav-kpi-body{min-width:0}
  .lav-kpi-num{overflow-wrap:normal;word-break:keep-all}
  .lav-kpi-num bdi{white-space:nowrap}
  .lav-modal .lav-kpis>.lav-kpi{flex-basis:78%}
  /* E5.10.4 FINAL (D-HSCROLL / D-OVERFLOW ops-13-balances 390, 683 > 360): a table that is not (yet) a stack of cards never widens its
     window or the page — the columns share the width and a long word or note wraps inside its cell (nothing clipped, no horizontal scroll) */
  .lav-ui-table:not([data-lav-stack]){table-layout:fixed;width:100%;max-width:100%}
  .lav-ui-table:not([data-lav-stack]) :is(th,td){overflow-wrap:anywhere;word-break:normal;white-space:normal}
  .lav-ui-table td small.lav-muted{display:block;max-width:100%;overflow-wrap:anywhere;white-space:normal}
  .lav-modal-b{min-width:0;overflow-x:hidden}
  .lav-cmds{grid-template-columns:repeat(2,minmax(0,1fr))}
  
  
  
  
  
  
  
  
  
  .lav-page-head-actions .lav-fab{position:fixed;inset-inline-end:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:61;min-height:52px;padding:0 22px;border-radius:16px}
  /* E8: since E7 there is no bottom bar — the button sits at the screen's edge, and the page keeps room under its last row so no action stays under it */
  .lav-app-content:has(.lav-page-head-actions .lav-fab){padding-bottom:calc(88px + env(safe-area-inset-bottom))}
  .lav-ui-table .lav-acts.is-folded>.lav-act:nth-child(n/**/+2):not(.lav-acts-more){display:none}
  .lav-ui-table .lav-acts.is-folded.is-open>.lav-act{display:inline-grid}
  .lav-ui-table .lav-acts.is-folded .lav-acts-more{display:inline-grid}
  .lav-filters-bar.is-folded>label:nth-of-type(n/**/+2),.lav-filters-bar.is-folded>.lav-check{display:none}
  .lav-filters-bar.is-folded.is-open{position:fixed;inset:auto 0 0 0;z-index:200001;border-radius:var(--radius-card) var(--radius-card) 0 0;max-height:80dvh;overflow:auto;box-shadow:0 -12px 40px rgba(15,23,42,.25)}
  .lav-filters-bar.is-folded.is-open>label,.lav-filters-bar.is-folded.is-open>.lav-check{display:flex}
  .lav-filters-bar .lav-filter-toggle{display:inline-flex}
  .lav-inbox-cols{grid-template-columns:1fr;height:calc(100dvh - 190px)}
  .lav-inbox-cols .lav-inbox-grip{display:none}
  .lav-inbox-cols.has-chat .lav-inbox-list{display:none}
  .lav-inbox-cols:not(.has-chat) .lav-inbox-chat{display:none}
  .lav-msg{max-width:88%}
  .lav-modal{--lav-form-cols:1}
  /* the portal's sections become its bottom bar on the phone (ق23) */
  .lavp-main{padding:10px 10px calc(84px + env(safe-area-inset-bottom))}
  .lavp-nav{position:fixed;inset:auto 0 0 0;z-index:60;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:0;padding:6px 6px calc(6px + env(safe-area-inset-bottom));
    border-radius:0;border:0;border-top:1px solid var(--border);background:var(--surface-solid);box-shadow:0 -6px 20px rgba(15,23,42,.06)}
  :root[data-theme="dark"] .lavp-nav{background:rgba(12,5,7,.94)}
  .lavp-nav .lav-subtab{flex-direction:column;gap:2px;height:auto;min-height:0;min-width:0;padding:4px 2px;font-size:var(--fs-small);border:0;background:transparent}
  .lavp-nav .lav-subtab span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .lavp-nav .lav-subtab svg{width:22px;height:22px}
  :root .lavp-nav .lav-subtab:is(.active,[aria-selected="true"]),:root[data-theme="dark"] .lavp-nav .lav-subtab:is(.active,[aria-selected="true"]){background:transparent;color:var(--brand-2);box-shadow:none;border:0}
}
@media (min-width:641px){.lav-filters-bar .lav-filter-toggle{display:none}}

/* ---------- لا تحريك عند طلب المستخدم ---------- */
@media (prefers-reduced-motion:reduce){.lav-toast-bar{animation:none}}

/* FIELD-ICONS:START (generated by tools/icons_e57.py) */
:root :is(.lav-modal-ov,.lav-form-grid) :is(input.lav-field:is([type=text],:not([type])):not([data-kind=id])){--fic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23475569%22 stroke-width=%221.9%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 20h9%22/%3E%3Cpath d=%22M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4z%22/%3E%3C/svg%3E")}
:root[data-theme="dark"] :is(.lav-modal-ov,.lav-form-grid) :is(input.lav-field:is([type=text],:not([type])):not([data-kind=id])){--fic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22white%22 stroke-width=%221.9%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 20h9%22/%3E%3Cpath d=%22M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4z%22/%3E%3C/svg%3E")}
:root :is(.lav-modal-ov,.lav-form-grid) :is(input.lav-field[data-kind=id]){--fic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23475569%22 stroke-width=%221.9%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%222%22 y=%225%22 width=%2220%22 height=%2214%22 rx=%222%22/%3E%3Ccircle cx=%228%22 cy=%2212%22 r=%222.6%22/%3E%3Cpath d=%22M14 10h4M14 14h4%22/%3E%3C/svg%3E")}
:root[data-theme="dark"] :is(.lav-modal-ov,.lav-form-grid) :is(input.lav-field[data-kind=id]){--fic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22white%22 stroke-width=%221.9%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%222%22 y=%225%22 width=%2220%22 height=%2214%22 rx=%222%22/%3E%3Ccircle cx=%228%22 cy=%2212%22 r=%222.6%22/%3E%3Cpath d=%22M14 10h4M14 14h4%22/%3E%3C/svg%3E")}
:root :is(.lav-modal-ov,.lav-form-grid) :is(input.lav-field:is([type=date],[type=month],[type=datetime-local],[data-lavdate])){--fic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23475569%22 stroke-width=%221.9%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%224%22 width=%2218%22 height=%2218%22 rx=%222%22/%3E%3Cpath d=%22M16 2v4M8 2v4M3 10h18%22/%3E%3C/svg%3E")}
:root[data-theme="dark"] :is(.lav-modal-ov,.lav-form-grid) :is(input.lav-field:is([type=date],[type=month],[type=datetime-local],[data-lavdate])){--fic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22white%22 stroke-width=%221.9%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%224%22 width=%2218%22 height=%2218%22 rx=%222%22/%3E%3Cpath d=%22M16 2v4M8 2v4M3 10h18%22/%3E%3C/svg%3E")}
:root :is(.lav-modal-ov,.lav-form-grid) :is(input.lav-field[type=time]){--fic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23475569%22 stroke-width=%221.9%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%229%22/%3E%3Cpath d=%22M12 7v5l3 2%22/%3E%3C/svg%3E")}
:root[data-theme="dark"] :is(.lav-modal-ov,.lav-form-grid) :is(input.lav-field[type=time]){--fic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22white%22 stroke-width=%221.9%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%229%22/%3E%3Cpath d=%22M12 7v5l3 2%22/%3E%3C/svg%3E")}
:root :is(.lav-modal-ov,.lav-form-grid) :is(input.lav-field:is([type=number],[inputmode=numeric],[inputmode=decimal])){--fic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23475569%22 stroke-width=%221.9%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 9h16M4 15h16M10 3 8 21M16 3l-2 18%22/%3E%3C/svg%3E")}
:root[data-theme="dark"] :is(.lav-modal-ov,.lav-form-grid) :is(input.lav-field:is([type=number],[inputmode=numeric],[inputmode=decimal])){--fic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22white%22 stroke-width=%221.9%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 9h16M4 15h16M10 3 8 21M16 3l-2 18%22/%3E%3C/svg%3E")}
:root :is(.lav-modal-ov,.lav-form-grid) :is(input.lav-field[type=tel]){--fic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23475569%22 stroke-width=%221.9%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8.1 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.5c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z%22/%3E%3C/svg%3E")}
:root[data-theme="dark"] :is(.lav-modal-ov,.lav-form-grid) :is(input.lav-field[type=tel]){--fic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22white%22 stroke-width=%221.9%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8.1 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.5c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z%22/%3E%3C/svg%3E")}
:root :is(.lav-modal-ov,.lav-form-grid) :is(input.lav-field[type=email]){--fic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23475569%22 stroke-width=%221.9%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%225%22 width=%2218%22 height=%2214%22 rx=%222%22/%3E%3Cpath d=%22m3 7 9 6 9-6%22/%3E%3C/svg%3E")}
:root[data-theme="dark"] :is(.lav-modal-ov,.lav-form-grid) :is(input.lav-field[type=email]){--fic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22white%22 stroke-width=%221.9%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%225%22 width=%2218%22 height=%2214%22 rx=%222%22/%3E%3Cpath d=%22m3 7 9 6 9-6%22/%3E%3C/svg%3E")}
:root :is(.lav-modal-ov,.lav-form-grid) :is(input.lav-field[type=search]){--fic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23475569%22 stroke-width=%221.9%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2211%22 cy=%2211%22 r=%227%22/%3E%3Cpath d=%22m21 21-4.3-4.3%22/%3E%3C/svg%3E")}
:root[data-theme="dark"] :is(.lav-modal-ov,.lav-form-grid) :is(input.lav-field[type=search]){--fic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22white%22 stroke-width=%221.9%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2211%22 cy=%2211%22 r=%227%22/%3E%3Cpath d=%22m21 21-4.3-4.3%22/%3E%3C/svg%3E")}
:root :is(.lav-modal-ov,.lav-form-grid) :is(input.lav-field[type=password]){--fic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23475569%22 stroke-width=%221.9%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%228%22 cy=%2215%22 r=%224%22/%3E%3Cpath d=%22M10.8 12.2 20 3M17 6l3 3M14.5 8.5l2 2%22/%3E%3C/svg%3E")}
:root[data-theme="dark"] :is(.lav-modal-ov,.lav-form-grid) :is(input.lav-field[type=password]){--fic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22white%22 stroke-width=%221.9%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%228%22 cy=%2215%22 r=%224%22/%3E%3Cpath d=%22M10.8 12.2 20 3M17 6l3 3M14.5 8.5l2 2%22/%3E%3C/svg%3E")}
:root :is(.lav-modal-ov,.lav-form-grid) :is(textarea.lav-field){--fic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23475569%22 stroke-width=%221.9%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 4h12l4 4v12H4z%22/%3E%3Cpath d=%22M16 4v4h4%22/%3E%3Cpath d=%22M8 12h8M8 16h5%22/%3E%3C/svg%3E")}
:root[data-theme="dark"] :is(.lav-modal-ov,.lav-form-grid) :is(textarea.lav-field){--fic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22white%22 stroke-width=%221.9%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 4h12l4 4v12H4z%22/%3E%3Cpath d=%22M16 4v4h4%22/%3E%3Cpath d=%22M8 12h8M8 16h5%22/%3E%3C/svg%3E")}
:root :is(.lav-modal-ov,.lav-form-grid) :is(.lav-pickfield){--fic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23475569%22 stroke-width=%221.9%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22m6 9 6 6 6-6%22/%3E%3C/svg%3E")}
:root[data-theme="dark"] :is(.lav-modal-ov,.lav-form-grid) :is(.lav-pickfield){--fic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22white%22 stroke-width=%221.9%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22m6 9 6 6 6-6%22/%3E%3C/svg%3E")}
:root :is(.lav-modal-ov,.lav-form-grid) :is(:is(input,textarea).lav-field:disabled,:is(input,textarea).lav-field[readonly]:not([data-lavdate])){--fic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23475569%22 stroke-width=%221.9%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%225%22 y=%2211%22 width=%2214%22 height=%2210%22 rx=%222%22/%3E%3Cpath d=%22M8 11V7a4 4 0 0 1 8 0v4%22/%3E%3C/svg%3E")}
:root[data-theme="dark"] :is(.lav-modal-ov,.lav-form-grid) :is(:is(input,textarea).lav-field:disabled,:is(input,textarea).lav-field[readonly]:not([data-lavdate])){--fic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22white%22 stroke-width=%221.9%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%225%22 y=%2211%22 width=%2214%22 height=%2210%22 rx=%222%22/%3E%3Cpath d=%22M8 11V7a4 4 0 0 1 8 0v4%22/%3E%3C/svg%3E")}
.lav-verify-state.is-ok{background:var(--lav-success-bg);color:var(--lav-success);
color:var(--text);background:none;--vg:var(--btn-save);--vc:var(--c-green);
--vic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22white%22 stroke-width=%221.9%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M20 6 9 17l-5-5%22/%3E%3C/svg%3E")}
.lav-verify-state.is-bad{background:var(--lav-error-bg);color:var(--lav-error);
color:var(--text);background:none;--vg:var(--btn-danger);--vc:var(--c-red);
--vic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22white%22 stroke-width=%221.9%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%229%22/%3E%3Cpath d=%22m15 9-6 6M9 9l6 6%22/%3E%3C/svg%3E")}
.lav-verify-state.is-warn{background:var(--lav-warning-bg);color:var(--lav-warning);
color:var(--text);background:none;--vg:linear-gradient(180deg,var(--c-amber),var(--c-brown));--vc:var(--c-amber);
--vic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22white%22 stroke-width=%221.9%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M10.3 3.9 1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0z%22/%3E%3Cpath d=%22M12 9v4%22/%3E%3Cpath d=%22M12 17h.01%22/%3E%3C/svg%3E")}

/* E5.10 (EB-4): the public pages before an answer — a rating asks (star), an unsubscribe asks (mail); calm blue, never a warning */
.lav-verify-state.is-ask{color:var(--text);background:none;--vg:var(--btn-primary);--vc:var(--c-blue)}
.lav-verify-state.is-ask.is-rate{--vic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22white%22 stroke-width=%221.9%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 3.5l2.6 5.3 5.9.9-4.25 4.1 1 5.85L12 16.9l-5.25 2.75 1-5.85L3.5 9.7l5.9-.9z%22/%3E%3C/svg%3E")}
.lav-verify-state.is-ask.is-mail{--vic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22white%22 stroke-width=%221.9%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223.5%22 y=%225.5%22 width=%2217%22 height=%2213%22 rx=%222%22/%3E%3Cpath d=%22M4 7l8 6 8-6%22/%3E%3C/svg%3E")}
/* FIELD-ICONS:END */

/* ---------- E5.8 (owner 23 Oct, image 07): the phone card of a list that declares its fields — TWO lines only:
   line 1 = the name and the code, line 2 = the status and the date (or the list's main value), and the row buttons at the
   end of line 2 (the extra ones under «⋯»). Nothing else: the other columns stay in the details window. A list without a
   declaration keeps the label-above-value card. ---------- */
@media (max-width:640px){
  table.lav-ui-table[data-lav-stack][data-lav-m]>:is(tbody,tfoot)>tr{grid-template-columns:auto minmax(0,1fr) auto;grid-auto-rows:auto;column-gap:10px;row-gap:6px;padding:10px 12px;align-items:center}
  table.lav-ui-table[data-lav-stack][data-lav-m]>:is(tbody,tfoot)>tr>td{display:none;border:0;margin:0;padding:0;min-height:0;flex-direction:row;align-items:center}
  table.lav-ui-table[data-lav-stack][data-lav-m]>:is(tbody,tfoot)>tr>td[data-label]:not([data-label=""])::before{content:none}
  table.lav-ui-table[data-lav-stack][data-lav-m]>:is(tbody,tfoot)>tr>td:only-child{display:block;grid-column:1/-1}
  table.lav-ui-table[data-lav-stack][data-lav-m]>:is(tbody,tfoot)>tr>td[data-m="title"]{display:flex;grid-row:1;grid-column:1/3;font-size:var(--fs-title-sm);font-weight:var(--lav-w-strong);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  table.lav-ui-table[data-lav-stack][data-lav-m]>:is(tbody,tfoot)>tr>td[data-m="code"]{display:flex;grid-row:1;grid-column:3;justify-content:flex-end;font-size:var(--fs-small);color:var(--muted);font-weight:var(--lav-w-strong)}
  table.lav-ui-table[data-lav-stack][data-lav-m]>:is(tbody,tfoot)>tr>td[data-m="status"]{display:flex;grid-row:2;grid-column:1}
  table.lav-ui-table[data-lav-stack][data-lav-m]>:is(tbody,tfoot)>tr>td[data-m="value"]{display:flex;grid-row:2;grid-column:2;font-size:var(--fs-text);color:var(--muted)}
  table.lav-ui-table[data-lav-stack][data-lav-m]>:is(tbody,tfoot)>tr:not(:has(td[data-m="status"]))>td[data-m="value"]{grid-column:1/3}
  table.lav-ui-table[data-lav-stack][data-lav-m]>:is(tbody,tfoot)>tr>td[data-m="acts"]{display:flex;grid-row:2;grid-column:3;justify-content:flex-end;flex-wrap:nowrap}
}

/* ---------- E5.8 (P3 findings D-02..D-04): the shared command cards, the section count, the details layout (image 08) ---------- */
.lav-section-note{margin-inline-start:auto;font-size:var(--fs-small);color:var(--muted);font-weight:var(--lav-w-text)}
.lav-cmd small{display:block;color:var(--muted);font-size:var(--fs-small);
display:block;color:var(--muted);font-size:var(--fs-small);font-weight:var(--lav-w-text)}
.lav-dtl{display:flex;flex-direction:column;gap:16px}
.lav-dtl-id{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.lav-dtl-id .lav-dtl-ic{width:64px;height:64px;flex:0 0 auto}
.lav-dtl-id .lav-dtl-ic svg{width:30px;height:30px}
.lav-dtl-main{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:8px}
.lav-dtl-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.lav-dtl-title b{font-size:var(--fs-page);font-weight:var(--lav-w-strong);color:var(--text)}
.lav-dtl-meta{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:var(--fs-text);color:var(--muted)}
.lav-dtl-meta span{display:inline-flex;align-items:center;gap:6px}
.lav-dtl-meta svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.lav-dtl-acts{display:flex;gap:10px;flex-wrap:wrap;margin-inline-start:auto}
.lav-dtl-tabs{align-self:flex-end}
.lav-dtl-cnt{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;margin-inline-start:8px;border-radius:11px;background:var(--soft);border:1px solid var(--border);font-size:var(--fs-small);font-style:normal;font-weight:var(--lav-w-strong);color:var(--text)}
.lav-dtl-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}
.lav-dtl-grid.has-side{grid-template-columns:minmax(0,1fr) 300px}
.lav-dtl-body{display:flex;flex-direction:column;gap:16px;min-width:0}
.lav-dtl-side{position:sticky;top:12px}
@media (max-width:900px){.lav-dtl-grid.has-side{grid-template-columns:minmax(0,1fr)}.lav-dtl-side{position:static}.lav-dtl-tabs{align-self:stretch}}

/* ---------- E5.10h (EB-10): المكوّنات المشتركة — شريط المراحل، النجوم، الوسوم، أيقونة القناة، صف الإجمالي ---------- */
.lav-pipeline{display:flex;align-items:stretch;gap:6px;padding:0;margin:0;list-style:none;overflow-x:auto}
.lav-pipeline li{--c:var(--st-draft);display:flex;align-items:center;justify-content:center;gap:8px;flex:1 1 0;min-width:0;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-badge);
  background:var(--surface-solid);color:var(--text);font-size:var(--fs-text);font-weight:var(--lav-w-strong)}
.lav-pipeline li span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lav-pipeline li b{font-size:var(--fs-small);color:var(--muted)}
.lav-pipeline li.is-done{--c:var(--st-approved);border-color:var(--c)}
.lav-pipeline li.is-cur{--c:var(--brand-2);border-color:var(--c);color:var(--c)}
.lav-pipeline li.is-cur b{color:var(--c)}
.lav-stars{color:var(--lav-star);letter-spacing:1px;white-space:nowrap;font-size:var(--lav-font-base);
display:inline-flex;align-items:center;gap:2px;direction:ltr}
.lav-star{display:inline-flex;color:var(--border)}
.lav-star svg{width:16px;height:16px;fill:currentColor;stroke:currentColor}
.lav-star.is-on{color:var(--c-amber)}
.lav-chip svg{width:12px;height:12px;fill:none;stroke:var(--c);stroke-width:2}
.lav-chips{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}
.lav-chip{--c:var(--c-slate);display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 8px;border-radius:var(--radius-badge);border:1px solid var(--border);
  background:var(--soft);color:var(--text);font-size:var(--fs-small);font-weight:var(--lav-w-text);white-space:nowrap}
.lav-chip.is-ok{--c:var(--st-approved);border-color:var(--c)} .lav-chip.is-warn{--c:var(--c-amber);border-color:var(--c)} .lav-chip.is-err{--c:var(--brand-2);border-color:var(--c)}
.lav-ic-ch{--c:var(--c-slate)}
.lav-total-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--border);font-size:var(--fs-text);font-weight:var(--lav-w-strong)}
.lav-total-row.is-net{font-size:var(--fs-title-sm);color:var(--brand-2)}
@media (max-width:640px){.lav-pipeline{flex-wrap:wrap} .lav-pipeline li{flex:1 1 calc(50% - 6px)}}
/* ===== E5.7 LAYER END ===== */
/* ش-1 بعد تعديل المالك (26 أكتوبر، الخيار ج): الشارة أقل عرض 88px، وبتكبر مع النص لحد 140px، والنص الأطول بينزل سطر تاني جوه نفس الشارة */

.lav-badge,.lavrep-badge,.p12-badge,.lavhr-bdg,.lavco-st-text,.lav-badge-row>.lav-badge,.lav-summary .lav-badge{flex:0 0 auto;width:auto;min-width:var(--badge-w);max-width:var(--badge-w-max);height:auto;min-height:26px;padding:3px 8px;white-space:normal;line-height:1.35;overflow-wrap:anywhere}
.lav-badge>span{overflow:hidden;text-overflow:ellipsis;
overflow:visible;text-overflow:clip}
/* ش-1 on the phone: the stacked table resets the minimum width of every cell child (td > * {min-width:0}); a badge keeps 88..140 */
table[data-lav-stack]>:is(tbody,tfoot)>tr>td>:is(.lav-badge,.lavrep-badge,.p12-badge,.lavrcp-tag,.lavhr-bdg,.lavco-st-text){min-width:var(--badge-w)}
/* ===== E5.10.4 E_UI — مراجعة التصميم 28 أكتوبر (CH-123..CH-175) ===== */
/* CH-126 D-CLIP (14 سبتمبر): لا نص يتقص — يلتف لسطر ثانٍ بدل ellipsis */
.lav-steps li span,.lav-pipeline li span,.lav-pickfield>span,.lav-fl>.t,.lav-inbox-item-top b,.lav-inbox-item-prev,.lav-inbox-title,.lav-inbox-quote span,.lav-sched-lbl b,.lav-sched-item b,.lav-sched-item span,.lav-badge>span{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
.lav-steps li span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
line-height:1.3}
.lav-steps b svg{width:18px;height:18px}
.lav-sched-item{height:auto;min-height:100%}
table.lav-ui-table td,table.lav-ui-table td>*{text-overflow:clip}
table.lav-ui-table[data-lav-stack][data-lav-m]>:is(tbody,tfoot)>tr>td[data-m="title"]{overflow:visible;white-space:normal;overflow-wrap:anywhere}
/* CH-139 D-WEIGHT: 600 للكلام و800 للعناوين والأرقام */
.lav-chat-room-t b{font-weight:var(--lav-w-text)}
/* CH-141 D-FONT: Cairo حتى للأكواد والمعادلات (القيود 1.3) */

/* CH-129: الشارة 88–140 حتى داخل سطر مرن (كارت المهمة في الدردشة كانت 77) */

/* CH-130 D-ICONONLY (12 يونيو): كلمة جنب أيقونة كل إجراء غير العرض والتعديل والحذف */

/* CH-127 D-HSCROLL / CH-138 D-OVERFLOW (18 أكتوبر): التبويبات تلتف لسطر ثانٍ بدل التمرير الأفقي، ولا عنصر خارج العرض */

@media (max-width:640px){
  
  
  
  
  
}

/* CH-149 D-OVERLAP (28 سبتمبر): المسافة بين آخر خانة وزر الدخول = المسافة بين الخانتين (سطر الاسم 44px)؛ CH-143 أيقونة الزر */

/* CH-167 (12_public_verify): كارت واحد في المنتصف — الأيقونة، العنوان الكبير، سطر الجهة، الخانات، وسطر وقت التحقق؛ والمناطق والخط الساخن أسفل الصفحة */

/* CH-159 (16_home): «المطلوب مني» بتبويبات بالأعداد، والعمود الجانبي بكارتي الحجوزات والتنبيهات؛ القائمة بارتفاعها كاملًا بلا قص (DR-121) */

/* CH-160 (07_mobile): البحث وزر الفلتر الصغير بعدده في سطر واحد */
@media (max-width:640px){
  
  
  
  
}

/* CH-152 / CH-165 (13_wizard): الخطوة وملخص جانبي، وسطر أزرار واحد (السابق، حفظ كمسودة، التالي) */

@media (max-width:900px){}
@media (max-width:640px){}

/* CH-163 (14_report): رسم الأعمدة */

/* CH-153 D-FORM (القيود 2.9، DR-056): كل خانة نصية بأيقونة نوعها من الـ117 (الهاتف، الكود، البريد، الاسم، المنطقة) بدل القلم الواحد */

/* CH-153 (05_form_modal): الخانة اللي فيها خطأ خلفيتها حمراء خفيفة والسبب تحتها في مربع */

/* CH-123 (FIX-032): «إجراءات أخرى» على الموبايل تفتح كل إجراءات الصف ظاهرة وقابلة للنقر — قاعدة الإخفاء الأوسع كانت أعلى أولوية من قاعدة الفتح */
@media (max-width:640px){
  
  
}
/* CH-154 (قرار 28 سبتمبر): لا صناديق شرح ثابتة فوق القوائم والتقارير — ملاحظة التعريف (data-intro) لا تظهر */

/* CH-153 (DR-055، 05_form_modal): منتقي التاريخ بأيقونة التقويم — الخانة المحوّلة لنص (data-lavdate) كانت تأخذ القلم من قاعدة النص الأعلى أولوية */

/* CH-126 (DR-118) / CH-127 — التقويم على الموبايل داخل عرض الشاشة: كل حجز مكتوب كاملًا تحت غرفته (الوقت، الاسم والكود، الحالة)، والخط الزمني ألوان فقط */

@media (max-width:640px){
  
  
  
  
  
  
  
  
  
  
}
@media (max-width:640px){
  /* the week view inside the screen too: seven equal day columns, the card words wrap (no sideways scroll) */
  
  
  
  
}
/* CH-145 (DR-032، القرارات §2 القوائم): كارت القائمة ~40px والكلام في سطر — السطر الثاني الصغير داخل الخلية يأتي بجوار قيمته بفاصل «·» */

/* CH-141 D-FONT: Cairo حتى للأكواد والمعادلات (القيود 1.3) */
.lav-expr,code.lav-expr{font-family:var(--lav-font);font-weight:var(--lav-w-strong);font-variant-numeric:tabular-nums}
/* CH-129: الشارة 88–140 حتى داخل سطر مرن (كارت المهمة في الدردشة كانت 77) */
.lav-chat-task>span.lav-badge,.lav-chat-task>.lav-badge{flex:0 0 auto}
/* CH-130 D-ICONONLY (12 يونيو): كلمة جنب أيقونة كل إجراء غير العرض والتعديل والحذف */
.lav-act.has-t{width:auto;grid-auto-flow:column;align-items:center;gap:6px;padding:0 10px;white-space:nowrap}
.lav-act.has-t>svg{flex:none}
.lav-act-t{font-size:var(--fs-small);font-weight:var(--lav-w-strong);line-height:1}
.lav-acts{display:inline-flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:6px}
.lav-acts>.lav-act+.lav-act{margin-inline-start:0}
/* CH-127 D-HSCROLL / CH-138 D-OVERFLOW (18 أكتوبر): التبويبات تلتف لسطر ثانٍ بدل التمرير الأفقي، ولا عنصر خارج العرض */
/* E9.3: channel choices follow the inbox column width, including a narrow desktop split. */
.lav-inbox-bar .lav-subtabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,104px),1fr));gap:6px;width:100%;max-width:100%;min-width:0;margin:0;box-sizing:border-box;overflow:visible}
.lav-inbox-bar .lav-subtabs>button.lav-subtab{min-width:0;max-width:100%;height:auto;min-height:36px;padding:6px 8px;justify-content:flex-start;white-space:normal;text-align:start;gap:6px}
.lav-inbox-bar .lav-subtabs>button.lav-subtab>span:not(.lav-inbox-count){min-width:0;white-space:normal;overflow-wrap:anywhere}
.lav-inbox-bar .lav-subtabs>button.lav-subtab>svg,.lav-inbox-bar .lav-subtabs .lav-inbox-count{flex-shrink:0}

.lav-modal-b,.lav-modal-b>*{min-width:0;max-width:100%}
.lav-modal-b .lav-form-grid{grid-template-columns:repeat(var(--lav-form-cols,2),minmax(0,1fr))}
.lav-form-grid>label,.lav-form-grid>label>span,.lav-check>span{min-width:0;overflow-wrap:anywhere}
td small.lav-muted,td small.lav-muted bdi,td bdi{overflow-wrap:anywhere}

.lav-sched-grid{min-width:0;width:100%}
@media (max-width:640px){
  
  
  .lavp-nav .lav-subtab span{white-space:normal;overflow:visible;text-overflow:clip;text-align:center;line-height:1.2;overflow-wrap:anywhere}
  .lav-kpi-lbl{display:block;-webkit-line-clamp:unset;line-clamp:unset;overflow:visible}
  .lav-sched-lbl{min-width:0}
}

/* CH-149 D-OVERLAP (28 سبتمبر): المسافة بين آخر خانة وزر الدخول = المسافة بين الخانتين (سطر الاسم 44px)؛ CH-143 أيقونة الزر */
.is-signin .lav-login-form>.lav-login-btn{margin-top:44px}
.lav-login-btn{width:100%;height:42px;min-height:42px;font-size:var(--lav-font-base);
display:inline-flex;align-items:center;justify-content:center;gap:8px}
.lav-login-btn>svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}
/* CH-167 (12_public_verify): كارت واحد في المنتصف — الأيقونة، العنوان الكبير، سطر الجهة، الخانات، وسطر وقت التحقق؛ والمناطق والخط الساخن أسفل الصفحة */
.lav-verify-wrap{min-height:100dvh;display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px 16px;box-sizing:border-box}
.lav-verify-brand{display:flex;flex-direction:column;align-items:center;gap:6px}
.lav-verify-sub{font-size:var(--fs-small);color:var(--muted)}
.lav-verify-card{width:100%;max-width:460px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 20px;border-radius:var(--radius-card);border:1px solid var(--border);border-top:4px solid var(--st-approved);background:var(--surface-solid);box-shadow:var(--shadow-card);text-align:center}
.lav-verify-card.is-bad{border-top-color:var(--brand-2)}
:root[data-theme="dark"] .lav-verify-card{background:var(--surface)}
.lav-verify-card h1{margin:0;font-size:var(--fs-page);font-weight:var(--lav-w-strong)}
.lav-verify-ic{width:72px;height:72px;border-radius:20px;display:grid;place-items:center;color:var(--on-color);background:var(--btn-save)}
.lav-verify-ic.is-bad{background:var(--btn-danger)}
.lav-verify-ic svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.lav-verify-line{margin:0;font-size:var(--fs-text);color:var(--text)}
.lav-verify-line.is-small{font-size:var(--fs-small);color:var(--muted)}
.lav-verify-card .lav-verify-list{width:100%;box-sizing:border-box;text-align:center}
.lav-verify-list>div.is-wide{grid-column:1/-1}
.lav-verify-foot{margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:var(--fs-small);color:var(--muted)}
.lav-verify-foot span{display:inline-flex;align-items:center;gap:6px}
.lav-verify-foot svg{width:14px;height:14px;fill:none;stroke:var(--brand-2);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
/* CH-159 (16_home): «المطلوب مني» بتبويبات بالأعداد، والعمود الجانبي بكارتي الحجوزات والتنبيهات؛ القائمة بارتفاعها كاملًا بلا قص (DR-121) */
.lavhm-side{gap:16px}
.lavhm-ttabs{margin:0 0 8px}
.lavhm-tasks{display:flex;flex-direction:column;gap:0;
display:flex;flex-direction:column;
max-height:none;overflow:visible}
.lavhm-bk{grid-template-columns:auto minmax(0,1fr) auto}
.lavhm-bk .tx{display:flex;flex-direction:column;gap:2px}
.lavhm-bk .tx small{font-size:var(--fs-small);color:var(--muted)}
/* CH-160 (07_mobile): البحث وزر الفلتر الصغير بعدده في سطر واحد */
@media (max-width:640px){
  .lav-filters-bar.is-folded:not(.is-open){display:flex;flex-wrap:nowrap;align-items:flex-end;gap:8px}
  .lav-filters-bar.is-folded:not(.is-open)>label:first-of-type{flex:1 1 0;min-width:0;width:auto}
  .lav-filters-bar.is-folded:not(.is-open)>.lav-btn{flex:0 0 auto;width:auto;min-width:0}
  .lav-filters-bar .lav-filter-toggle{flex:0 0 auto;min-height:44px;width:auto;padding:0 12px;position:relative;gap:6px}
}
.lav-filter-n{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--brand-2);color:var(--on-color);font-size:var(--fs-small);display:inline-grid;place-items:center}
.lav-filter-n[hidden]{display:none}
/* CH-152 / CH-165 (13_wizard): الخطوة وملخص جانبي، وسطر أزرار واحد (السابق، حفظ كمسودة، التالي) */
.lav-wizard-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);gap:var(--lav-gap);align-items:start}
.lav-wizard-side{display:flex;flex-direction:column;gap:8px;min-width:0}
.lav-wizard-side .lav-summary-grid{grid-template-columns:minmax(0,1fr)}
.lav-wizard-bar{display:flex;flex-wrap:nowrap;gap:8px;justify-content:flex-start}
.lav-wizard-bar>[data-next],.lav-wizard-bar>[data-finish]{margin-inline-start:auto}
@media (max-width:900px){.lav-wizard-grid{grid-template-columns:minmax(0,1fr)}.lav-wizard-side{order:2}}
@media (max-width:640px){.lav-wizard-bar{flex-wrap:wrap}}
.lav-review-card .lav-summary-head{display:flex;align-items:center;gap:8px}
.lav-review-card .lav-summary-head>[data-wgo],.lav-review-card .lav-section-title>[data-wgo]{margin-inline-start:auto}
/* CH-163 (14_report): رسم الأعمدة */
.lav-bars{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:12px;align-items:end;min-height:200px;padding:12px 4px 0}
.lav-bar{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}
.lav-bar-v{font-size:var(--fs-small);font-weight:var(--lav-w-strong);color:var(--text)}
.lav-bar-col{display:flex;align-items:flex-end;justify-content:center;width:100%;height:150px}
.lav-bar-col>i{display:block;width:min(44px,70%);height:calc(var(--h,0) * 1%);min-height:2px;border-radius:6px 6px 0 0;background:var(--brand-2)}
.lav-bar-l{font-size:var(--fs-small);color:var(--muted);text-align:center;overflow-wrap:anywhere}
/* CH-153 D-FORM (القيود 2.9، DR-056): كل خانة نصية بأيقونة نوعها من الـ117 (الهاتف، الكود، البريد، الاسم، المنطقة) بدل القلم الواحد */
:root :is(.lav-modal-ov,.lav-form-grid) input.lav-field[type=text][data-f*=phone],:root :is(.lav-modal-ov,.lav-form-grid) input.lav-field[type=text][data-f*=mobile]{--fic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23475569%22 stroke-width=%221.9%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8.1 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.5c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z%22/%3E%3C/svg%3E")}
:root[data-theme="dark"] :is(.lav-modal-ov,.lav-form-grid) input.lav-field[type=text][data-f*=phone],:root[data-theme="dark"] :is(.lav-modal-ov,.lav-form-grid) input.lav-field[type=text][data-f*=mobile]{--fic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22white%22 stroke-width=%221.9%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8.1 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.5c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z%22/%3E%3C/svg%3E")}
:root :is(.lav-modal-ov,.lav-form-grid) input.lav-field[type=text][data-f=code],:root :is(.lav-modal-ov,.lav-form-grid) input.lav-field[type=text][data-f$="_code"],:root :is(.lav-modal-ov,.lav-form-grid) input.lav-field[type=text][data-f$="_no"]{--fic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23475569%22 stroke-width=%221.9%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 9h16M4 15h16M10 3 8 21M16 3l-2 18%22/%3E%3C/svg%3E")}
:root[data-theme="dark"] :is(.lav-modal-ov,.lav-form-grid) input.lav-field[type=text][data-f=code],:root[data-theme="dark"] :is(.lav-modal-ov,.lav-form-grid) input.lav-field[type=text][data-f$="_code"],:root[data-theme="dark"] :is(.lav-modal-ov,.lav-form-grid) input.lav-field[type=text][data-f$="_no"]{--fic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22white%22 stroke-width=%221.9%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 9h16M4 15h16M10 3 8 21M16 3l-2 18%22/%3E%3C/svg%3E")}
:root :is(.lav-modal-ov,.lav-form-grid) input.lav-field[type=text][data-f*=email]{--fic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23475569%22 stroke-width=%221.9%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%225%22 width=%2218%22 height=%2214%22 rx=%222%22/%3E%3Cpath d=%22m3 7 9 6 9-6%22/%3E%3C/svg%3E")}
:root[data-theme="dark"] :is(.lav-modal-ov,.lav-form-grid) input.lav-field[type=text][data-f*=email]{--fic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22white%22 stroke-width=%221.9%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%225%22 width=%2218%22 height=%2214%22 rx=%222%22/%3E%3Cpath d=%22m3 7 9 6 9-6%22/%3E%3C/svg%3E")}
:root :is(.lav-modal-ov,.lav-form-grid) input.lav-field[type=text][data-f=name],:root :is(.lav-modal-ov,.lav-form-grid) input.lav-field[type=text][data-f$="_name"],:root :is(.lav-modal-ov,.lav-form-grid) input.lav-field[type=text][data-f=full_name],:root :is(.lav-modal-ov,.lav-form-grid) input.lav-field[type=text][data-f=en_name]{--fic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23475569%22 stroke-width=%221.9%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%222%22 y=%225%22 width=%2220%22 height=%2214%22 rx=%222%22/%3E%3Ccircle cx=%228%22 cy=%2212%22 r=%222.6%22/%3E%3Cpath d=%22M14 10h4M14 14h4%22/%3E%3C/svg%3E")}
:root[data-theme="dark"] :is(.lav-modal-ov,.lav-form-grid) input.lav-field[type=text][data-f=name],:root[data-theme="dark"] :is(.lav-modal-ov,.lav-form-grid) input.lav-field[type=text][data-f$="_name"],:root[data-theme="dark"] :is(.lav-modal-ov,.lav-form-grid) input.lav-field[type=text][data-f=full_name],:root[data-theme="dark"] :is(.lav-modal-ov,.lav-form-grid) input.lav-field[type=text][data-f=en_name]{--fic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22white%22 stroke-width=%221.9%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%222%22 y=%225%22 width=%2220%22 height=%2214%22 rx=%222%22/%3E%3Ccircle cx=%228%22 cy=%2212%22 r=%222.6%22/%3E%3Cpath d=%22M14 10h4M14 14h4%22/%3E%3C/svg%3E")}
:root :is(.lav-modal-ov,.lav-form-grid) input.lav-field[type=text][data-f*=region],:root :is(.lav-modal-ov,.lav-form-grid) input.lav-field[type=text][data-f*=address],:root :is(.lav-modal-ov,.lav-form-grid) input.lav-field[type=text][data-f*=governorate],:root :is(.lav-modal-ov,.lav-form-grid) input.lav-field[type=text][data-f*=city],:root :is(.lav-modal-ov,.lav-form-grid) input.lav-field[type=text][data-f*=area]{--fic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23475569%22 stroke-width=%221.9%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 21s-7-6.2-7-11a7 7 0 0 1 14 0c0 4.8-7 11-7 11z%22/%3E%3Ccircle cx=%2212%22 cy=%2210%22 r=%222.6%22/%3E%3C/svg%3E")}
:root[data-theme="dark"] :is(.lav-modal-ov,.lav-form-grid) input.lav-field[type=text][data-f*=region],:root[data-theme="dark"] :is(.lav-modal-ov,.lav-form-grid) input.lav-field[type=text][data-f*=address],:root[data-theme="dark"] :is(.lav-modal-ov,.lav-form-grid) input.lav-field[type=text][data-f*=governorate],:root[data-theme="dark"] :is(.lav-modal-ov,.lav-form-grid) input.lav-field[type=text][data-f*=city],:root[data-theme="dark"] :is(.lav-modal-ov,.lav-form-grid) input.lav-field[type=text][data-f*=area]{--fic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22white%22 stroke-width=%221.9%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 21s-7-6.2-7-11a7 7 0 0 1 14 0c0 4.8-7 11-7 11z%22/%3E%3Ccircle cx=%2212%22 cy=%2210%22 r=%222.6%22/%3E%3C/svg%3E")}
/* CH-153 (05_form_modal): الخانة اللي فيها خطأ خلفيتها حمراء خفيفة والسبب تحتها في مربع */
label.has-err .lav-field{background-color:color-mix(in srgb,var(--brand-2) 8%,transparent);border-color:var(--brand-2)}
.lav-f-err{display:block;margin-top:4px;padding:4px 8px;border-radius:var(--radius-badge);border:1px solid color-mix(in srgb,var(--brand-2) 35%,transparent);background:color-mix(in srgb,var(--brand-2) 8%,transparent);color:var(--brand-2);font-size:var(--fs-small);font-weight:var(--lav-w-text)}
/* CH-123 (FIX-032): «إجراءات أخرى» على الموبايل تفتح كل إجراءات الصف ظاهرة وقابلة للنقر — قاعدة الإخفاء الأوسع كانت أعلى أولوية من قاعدة الفتح */
@media (max-width:640px){
  .lav-ui-table .lav-acts.is-folded.is-open>.lav-act:nth-child(n/**/+2):not(.lav-acts-more){display:inline-grid}
  .lav-ui-table .lav-acts.is-folded.is-open{flex-wrap:wrap}
}
/* CH-154 (قرار 28 سبتمبر): لا صناديق شرح ثابتة فوق القوائم والتقارير — ملاحظة التعريف (data-intro) لا تظهر */
.lav-note[data-intro]{display:none}
/* CH-153 (DR-055، 05_form_modal): منتقي التاريخ بأيقونة التقويم — الخانة المحوّلة لنص (data-lavdate) كانت تأخذ القلم من قاعدة النص الأعلى أولوية */
:root :is(.lav-modal-ov,.lav-form-grid) input.lav-field[type=text][data-lavdate]:not([data-kind=id]){--fic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23475569%22 stroke-width=%221.9%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%224%22 width=%2218%22 height=%2218%22 rx=%222%22/%3E%3Cpath d=%22M16 2v4M8 2v4M3 10h18%22/%3E%3C/svg%3E")}
:root[data-theme="dark"] :is(.lav-modal-ov,.lav-form-grid) input.lav-field[type=text][data-lavdate]:not([data-kind=id]){--fic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22white%22 stroke-width=%221.9%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%224%22 width=%2218%22 height=%2218%22 rx=%222%22/%3E%3Cpath d=%22M16 2v4M8 2v4M3 10h18%22/%3E%3C/svg%3E")}
/* CH-126 (DR-118) / CH-127 — التقويم على الموبايل داخل عرض الشاشة: كل حجز مكتوب كاملًا تحت غرفته (الوقت، الاسم والكود، الحالة)، والخط الزمني ألوان فقط */
.lav-sched-agenda{display:none}
@media (max-width:640px){
  .lav-sched-agenda{display:flex;flex-direction:column;gap:6px;grid-column:1/-1;width:100%;min-width:0;padding:0 0 4px;position:relative;z-index:6}
  .lav-sched-ag{--c:var(--st-draft);display:grid;grid-template-columns:10px auto minmax(0,1fr);grid-template-areas:"dot time name" "dot time sub";column-gap:8px;align-items:center;width:100%;margin:0;padding:6px 10px;border:1px solid var(--border);border-inline-start:4px solid var(--c);border-radius:var(--radius-icon);background:var(--surface-solid);color:var(--text);font:inherit;text-align:start;cursor:pointer}
  :root[data-theme="dark"] .lav-sched-ag{background:var(--surface)}
  .lav-sched-ag>i{grid-area:dot;width:10px;height:10px;border-radius:50%;background:var(--c)}
  .lav-sched-ag-t{grid-area:time;font-size:var(--fs-small);font-weight:var(--lav-w-strong);color:var(--muted);white-space:nowrap}
  .lav-sched-ag>b{grid-area:name;font-size:var(--fs-text);font-weight:var(--lav-w-strong);overflow-wrap:anywhere}
  .lav-sched-ag>span{grid-area:sub;font-size:var(--fs-small);color:var(--muted);overflow-wrap:anywhere}
  /* E8: the phone agenda uses the same occupancy meaning as the lane (occupied = red mark, tentative = amber, cancelled = grey) */
  .lav-sched-ag{--c:var(--occ-busy-mark)}.lav-sched-ag.warn{--c:var(--occ-held-line)}
  .lav-sched-ag:is(.err,.canceled,.archived){--c:var(--st-canceled)}
  .lav-sched:not(.is-week) .lav-sched-item>b,.lav-sched:not(.is-week) .lav-sched-item>span{display:none}
}
@media (max-width:640px){
  /* the week view inside the screen too: seven equal day columns, the card words wrap (no sideways scroll) */
  .lav-sched-grid.is-week{min-width:0;grid-template-columns:var(--cal-lbl) repeat(7,minmax(0,1fr));column-gap:2px}
  .lav-sched-item.is-week{padding:2px 3px}
  .lav-sched-item.is-week b,.lav-sched-item.is-week span{white-space:normal;overflow-wrap:anywhere;font-size:var(--fs-small);line-height:1.25}
  .lav-sched-dh b,.lav-sched-dh span{overflow-wrap:anywhere;white-space:normal}
}
/* CH-145 (DR-032، القرارات §2 القوائم): كارت القائمة ~40px والكلام في سطر — السطر الثاني الصغير داخل الخلية يأتي بجوار قيمته بفاصل «·» */
.lav-ui-table:not([data-lav-stack])>tbody>tr>td>br:has(+small.lav-muted){display:none}
.lav-ui-table:not([data-lav-stack])>tbody>tr>td>br+small.lav-muted::before{content:" · "}
/* E5.10.5.2 (design review): long operational text remains readable on desktop. It wraps inside the card instead of being
   clipped merely to force a 40px row; action/status/input cells remain unconstrained. */
@media (min-width:769px){
  .lav-ui-table:not([data-lav-stack])>tbody>tr>td{white-space:normal;overflow:visible;text-overflow:clip;max-width:34vw;line-height:1.35;overflow-wrap:anywhere}
  .lav-ui-table:not([data-lav-stack])>tbody>tr>td:has(.lav-acts,.lav-badge,.lav-check-in,input,textarea,.lav-field){max-width:none}
}
/* CH-141 D-FONT: Cairo لنص النسخ في صندوق الوارد (رابط الاستقبال) */
code.lav-inbox-copy{font-family:var(--lav-font)}
/* CH-127 (D-HSCROLL): اسم خانة الاختيار الطويل يلتف داخل عرض النافذة */
.lav-form-grid .lav-check,.lav-form-grid .lav-check>span{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.lav-note code,.lav-note bdi{overflow-wrap:anywhere;word-break:break-word;max-width:100%;display:inline-block}
.lav-note:has(>code){flex-wrap:wrap}
/* CH-127: رقم آخر ساعة وفقاعة «الآن» على حافة الخط الزمني يبقيان داخل التقويم (بلا تمرير أفقي) */
.lav-sched-body{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;
overflow-x:visible;
padding-inline-end:16px;box-sizing:border-box}
/* CH-131 (القيود 2.4): تبويبات نافذة التفاصيل متساوية العرض من أول رسم (شبكة أعمدة متساوية تلتف) */
.lav-dtl-tabs{display:inline-grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px;max-width:100%}
.lav-dtl-tabs>.lav-subtab{width:auto;min-width:96px;white-space:normal}
@media (max-width:640px){.lav-dtl-tabs{display:grid;grid-auto-flow:row;grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}.lav-dtl-tabs>.lav-subtab{min-width:0}}

/* E5.10.4 FINAL (EB-5104-03، F-CR-05): شريط النسبة — المسار بلون الخلفية الهادئ والمملوء بلون الهوية، والرقم بجانبه */
.lav-pbar-w{display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:100%;vertical-align:middle}
.lav-pbar{flex:1 1 96px;min-width:64px;max-width:220px;height:8px;border-radius:999px;background:var(--lav-soft);overflow:hidden}
.lav-pbar>i{display:block;block-size:100%;border-radius:inherit;background:var(--lav-primary)}
.lav-pbar-n{font-variant-numeric:tabular-nums;white-space:nowrap}
/* E5.10.5 (OS-PLT-UI-022): a sortable column head — the pointer, and the direction of the sorted column in the brand colour */
table thead th:not(:empty){cursor:pointer}table thead th[aria-sort]{color:var(--lav-primary)}table thead th[aria-sort=ascending]::after{content:" ▲";font-size:var(--fs-small)}table thead th[aria-sort=descending]::after{content:" ▼";font-size:var(--fs-small)}
/* E5.10.5 (OS-PLT-NTF-010, 29 Sep «خلفية بنقشة»): the chat's list on a light dotted pattern of the theme's own colours (day and night) */
.lav-chat-list{background-image:radial-gradient(var(--lav-border) 1px,transparent 1px);background-size:18px 18px}

/* E5.10.5.2 — final design policy: readable rows and bounded composers */
.lav-ui-table{border-collapse:separate;border-spacing:0 var(--row-gap);width:100%;background:transparent;border:0;
max-width:100%}
.lav-ui-table th,.lav-ui-table td{padding:var(--lav-table-cell-pad);text-align:center;
vertical-align:middle;min-width:0}
.lav-ui-table td:not(.num):not([data-num]){overflow-wrap:anywhere;word-break:normal}
.lav-inbox-compose,.lav-inbox-compose-row,.lav-inbox-tools{min-width:0;max-width:100%}
.lav-inbox-compose-row>*{min-width:0}
.lav-inbox-compose-row textarea{width:100%;max-width:100%;box-sizing:border-box}
@media (max-width:768px){
  .lav-inbox-compose-row{flex-wrap:wrap;align-items:stretch}
  .lav-inbox-compose-row textarea{flex:1 1 100%;order:-1}
  .lav-inbox-tools{flex:1 1 100%;flex-wrap:wrap}
  .lav-inbox-tools .lav-btn,.lav-inbox-compose-row>.lav-btn{max-width:100%}
}

/* E6: on the phone the current step keeps its whole name on one line (it was squeezed to 9px and broke letter by letter); the other steps show their numbers only */
@media (max-width:640px){.lav-steps li.is-cur{flex:1 1 120px;min-width:0}.lav-steps li.is-cur span{white-space:normal;overflow-wrap:anywhere;word-break:normal}}
/* E8.1: a date with a time — the system date picker and the list of whole / half hours side by side */
.lav-datetime{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}
.lav-datetime .lav-pickfield>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lav-monogram-row{margin-top:12px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.lav-monogram-row label{display:flex;flex-direction:column;gap:6px}
.lav-monogram-row .lav-field{max-width:120px;text-transform:uppercase}
.lav-monogram-hint{margin:0;font-size:var(--fs-small);line-height:1.6}
/* E8.1 (owner, 5 Nov): no spinner anywhere — a page opens on the veil the sign-in transition ends on and the application fades in;
   a page opened from the menu comes in the same way; a part still loading is a quiet placeholder (its text for screen readers only) */
.lav-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.lav-boot{position:fixed;inset:0;background:var(--bg)}
#lav_content{animation:lavEnter .45s cubic-bezier(.2,.7,.3,1) both}
.lav-sidebar-nav{animation:lavFadeIn .18s ease both}
@keyframes lavFadeIn{from{opacity:0}to{opacity:1}}
#lav_content.is-enter{animation:lavEnter2 .38s cubic-bezier(.2,.7,.3,1) both}
@keyframes lavEnter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes lavEnter2{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){#lav_sidebar_nav,#lav_content,#lav_content.is-enter{animation:none}}
/* E8.1: a figure stays on one line inside its card — the size follows the card's width, the unit is smaller */
.lav-kpi-body{container-type:inline-size;min-width:0}
.lav-kpi-num{white-space:nowrap;display:flex;align-items:baseline;gap:6px;min-width:0}
@container (max-width:200px){.lav-kpi-num{font-size:var(--fs-section)}}
@container (max-width:140px){.lav-kpi-num{font-size:var(--fs-title-sm)}}
.lav-kpi-num bdi{white-space:nowrap}
.lav-kpi-unit{font-size:var(--fs-text);font-weight:var(--lav-w-text);color:var(--muted);white-space:nowrap}

/* E9 common content contract: long Arabic/Latin text stays in its own component. */
.lav-page-host{min-width:0;max-width:100%;container-type:inline-size;container-name:lav-page}
.lav-page-head,.lav-page-head-title,.lav-page-title,.lav-section-title,.lav-dashboard-title,.lav-details-bar{min-width:0;max-width:100%;overflow-wrap:anywhere}
.lav-page-head{flex-wrap:wrap}
.lav-page-head-actions,.lav-details-bar{flex-wrap:wrap}
.lav-form-grid>*{min-width:0}
.lav-field,.lav-pickfield{min-width:0;max-width:100%;box-sizing:border-box}
.lav-modal-h{min-width:0;overflow-wrap:anywhere}
.lav-modal-h>*{min-width:0}
.lav-modal-close{flex-shrink:0}
.lav-modal-f,.lav-dialog-actions{flex-wrap:wrap}
.lav-summary-grid>div,.lav-summary-grid dd{min-width:0;overflow-wrap:anywhere}
/* E9.3: override the summary's generic nowrap for copyable integration snippets.
   Soft wrapping changes presentation only; the escaped source text remains intact. */
.lav-summary-grid dd code.lav-inbox-copy{width:100%;max-width:100%;min-width:0;box-sizing:border-box;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;direction:ltr;text-align:left}
.lav-kpi-body{flex:1 1 0;min-width:0;max-width:100%;container-type:inline-size}
.lav-kpi-num{max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;white-space:nowrap;font-size:clamp(14px,6cqi,var(--fs-kpi));scrollbar-width:thin}
.lav-kpi-num bdi,.lav-kpi-unit{flex:0 0 auto}
@media(max-width:640px){.lav-modal-ov{padding:8px}.lav-modal{max-height:calc(100dvh - 16px)}.lav-kpis{flex-wrap:wrap;overflow-x:visible}.lav-kpis>.lav-kpi{flex:1 1 min(100%,200px);min-width:0;max-width:100%}}
/* E10 (EX-05): the end state of a save button for a moment — saved · failed · uncertain (the answer was lost) */
.lav-btn.is-saved{box-shadow:0 0 0 2px var(--lav-ok-border2)}
.lav-btn.is-failed{box-shadow:0 0 0 2px var(--lav-err-border2)}
.lav-btn.is-uncertain{box-shadow:0 0 0 2px var(--lav-warn-border)}
.lav-btn[aria-busy="true"]{cursor:progress}

/* ===== E10 (EX-12): one turning point for the conversations box (760px — the same as the script's phone test), the header's real
   height (--lav-app-topbar-h), the real visible height (--lav-vvh: the phone keyboard included), no minimum that makes the box taller
   than the screen; long words, links and code wrap inside their box. ===== */
.lav-inbox-cols{height:calc(var(--lav-vvh,100dvh) - var(--lav-app-topbar-h,64px) - 150px);min-height:min(420px,calc(var(--lav-vvh,100dvh) - var(--lav-app-topbar-h,64px) - 24px))}
.lav-inbox-chat{min-height:0}
.lav-inbox-msgs{min-height:0}
.lav-inbox-compose{flex:none}
.lav-inbox-head{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}
.lav-inbox-title{min-width:0;overflow:hidden;text-overflow:ellipsis}
.lav-msg,.lav-chat-msg{min-width:0;overflow-wrap:anywhere;word-break:normal}
.lav-msg-text,.lav-chat-text,.lav-msg-subject,.lav-inbox-quote span{overflow-wrap:anywhere}
.lav-msg pre,.lav-chat-msg pre,.lav-msg code,.lav-chat-msg code,#lav_content pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%}
@media (max-width:760px){
  .lav-inbox-cols{grid-template-columns:minmax(0,1fr);height:calc(var(--lav-vvh,100dvh) - var(--lav-app-topbar-h,112px) - 24px);min-height:0}
  .lav-inbox-grip{display:none}
  .lav-inbox-side{display:none}
  .lav-inbox-cols:not(.has-chat) .lav-inbox-chat{display:none}
  .lav-inbox-cols.has-chat .lav-inbox-list{display:none}
  .lav-inbox-cols.has-chat .lav-inbox-chat{display:flex}
  .lav-inbox.has-chat .lav-inbox-bar{display:none}
  .lav-inbox-head{flex-wrap:nowrap;white-space:nowrap}
  .lav-inbox-title{flex:1 1 auto;order:0}
  .lav-msg{max-width:90%}
}
@media (max-height:560px){
  .lav-inbox-cols{height:calc(var(--lav-vvh,100dvh) - var(--lav-app-topbar-h,64px) - 16px);min-height:0}
  .lav-inbox-head{min-height:44px;padding:4px 10px}
  .lav-inbox-compose{padding:6px 8px}
  .lav-inbox-compose-row textarea{min-height:40px;max-height:88px}
}
/* windows: never taller than the visible screen, their body scrolls; buttons never leave their bar */
.lav-modal{max-height:calc(var(--lav-vvh,100dvh) - 24px);display:flex;flex-direction:column}
.lav-modal>.lav-modal-b{min-height:0;overflow:auto}
.lav-modal>.lav-modal-h{flex:none}
.lav-details-bar{flex-wrap:wrap;min-width:0}
.lav-details-bar>.lav-btn{max-width:100%;min-width:0}
.lav-details-bar>.lav-btn>span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.lav-page-card{min-width:0;overflow-wrap:anywhere}
