/* مستويات الولاء — منقول من لوحات التصميم المعتمَدة (DashOverview…DashMember).

   كل صنف هنا يبدأ بـly- فلا يتسرّب إلى بقية اللوحة، والأصناف القصيرة داخل
   المكوّنات (.k .v .h) محصورة تحت آبائها. الألوان من رموز اللوحة
   (--surface/--border/--primary/--good/--warn/--crit) ولكلٍّ نظير ليلي؛ وما
   لا تملكه اللوحة يُشتقّ بـcolor-mix منها، فيتبع الوضعين.

   ألوان المستويات من العقد (§4)، ولها نسخة ليلية مختارة لا مقلوبة: لون
   المستوى ممزوج فوق سطح اللوحة الداكن، والنصّ أفتح ليبقى مقروءاً.
   ألوان الرسوم من لوحة dataviz المُتحقَّق منها (تمييز عمى الألوان ≥ 8 في
   الوضعين)؛ الأخضر دون 3:1 نهاراً فيرافقه دائماً عرض الجدول والقيم المكتوبة.
   لا letter-spacing على العربية — يكسر اتصال الحروف. */

:root{
  --ly-bronze-fg:#7A4320; --ly-bronze-bg:#F7EADF; --ly-bronze-ac:#B8733F;
  --ly-silver-fg:#3F4654; --ly-silver-bg:#EEF0F4; --ly-silver-ac:#8C95A6;
  --ly-gold-fg:#7A5512;   --ly-gold-bg:#FBF3DF;   --ly-gold-ac:#B98A2B;
  --ly-diamond-fg:#0E5F57; --ly-diamond-bg:#E2F8F5; --ly-diamond-ac:#1E9C8F;
  --ly-c-commission:#2a78d6; --ly-c-bonus:#eb6834; --ly-c-coupon:#1baf7a;
  --ly-r0:#86b6ef; --ly-r1:#3987e5; --ly-r2:#1c5cab; --ly-r3:#0d366b;
  --ly-src-pos:#2a78d6; --ly-src-neg:#b9b2c4;
}
:root[data-theme="dark"]{
  --ly-bronze-fg:#F3C9A6; --ly-bronze-bg:color-mix(in srgb,#B8733F 26%,var(--surface)); --ly-bronze-ac:#D38D58;
  --ly-silver-fg:#DDE2EA; --ly-silver-bg:color-mix(in srgb,#8C95A6 24%,var(--surface)); --ly-silver-ac:#AAB3C2;
  --ly-gold-fg:#F2D488;   --ly-gold-bg:color-mix(in srgb,#B98A2B 26%,var(--surface));   --ly-gold-ac:#D9AE4A;
  --ly-diamond-fg:#8BE6DA; --ly-diamond-bg:color-mix(in srgb,#1E9C8F 26%,var(--surface)); --ly-diamond-ac:#3DC2B3;
  --ly-c-commission:#3987e5; --ly-c-bonus:#d95926; --ly-c-coupon:#199e70;
  --ly-r0:#1c5cab; --ly-r1:#3987e5; --ly-r2:#6da7ec; --ly-r3:#b7d3f6;
  --ly-src-pos:#3987e5; --ly-src-neg:#5d5170;
}
[data-lt="bronze"]{--ly-fg:var(--ly-bronze-fg);--ly-bg:var(--ly-bronze-bg);--ly-ac:var(--ly-bronze-ac)}
[data-lt="silver"]{--ly-fg:var(--ly-silver-fg);--ly-bg:var(--ly-silver-bg);--ly-ac:var(--ly-silver-ac)}
[data-lt="gold"]{--ly-fg:var(--ly-gold-fg);--ly-bg:var(--ly-gold-bg);--ly-ac:var(--ly-gold-ac)}
[data-lt="diamond"]{--ly-fg:var(--ly-diamond-fg);--ly-bg:var(--ly-diamond-bg);--ly-ac:var(--ly-diamond-ac)}
.ly-gem{flex:none;display:inline-block;vertical-align:middle}

/* ============================ الجذر ============================ */
.lyx{display:flex;flex-direction:column;gap:18px;color:var(--text);
  --ly-track:color-mix(in srgb,var(--primary) 7%,var(--surface));
  --ly-seg:color-mix(in srgb,var(--primary) 9%,var(--surface));
  --ly-inb:color-mix(in srgb,var(--primary) 22%,var(--border))}
.lyx .num{font-variant-numeric:tabular-nums}
.lyx .b{font-weight:800}
.lyx .nw{white-space:nowrap}
.lyx .ltr{direction:ltr;unicode-bidi:isolate}
.lyx td.ltr{text-align:right}
.lyx .dim{color:var(--muted)}
.lyx .grow{flex:1 1 220px}
.ly-head h1{font-family:var(--fdisplay);font-size:28px;font-weight:900;margin:0 0 2px;line-height:1.3}
.ly-head p{margin:0;font-size:13px;color:var(--muted)}
.lyx h2{margin:0;font-size:16px;font-weight:900;line-height:1.5}
.lyx h2.lg{font-size:18px}
.ly-sub{font-size:12px;color:var(--muted);line-height:1.7}
.ly-note{font-size:12px;color:var(--muted);line-height:1.7}
.ly-note.lh{line-height:1.8}
.ly-sp{flex:1}
.ly-body{display:flex;flex-direction:column;gap:14px}
.ly-col{display:flex;flex-direction:column;gap:10px}

/* ============================ أزرار وحقول ============================ */
.ly-btn{height:40px;padding:0 16px;border-radius:12px;border:1px solid var(--border);background:var(--surface);
  color:var(--text);font-family:inherit;font-size:13.5px;font-weight:800;cursor:pointer;display:inline-flex;
  align-items:center;justify-content:center;gap:6px;white-space:nowrap;transition:transform .12s,box-shadow .18s}
.ly-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow)}
.ly-btn svg{width:15px;height:15px}
.ly-btn.go{background:var(--good);border-color:transparent;color:#fff}
.ly-btn.primary{background:var(--primary);border-color:transparent;color:#fff}
.ly-btn.danger{color:var(--crit);border-color:var(--crit-line)}
.ly-btn.sm{height:34px;padding:0 12px;border-radius:9px;font-size:12.5px}
.ly-btn.lg{height:48px;padding:0 24px;border-radius:14px;font-size:15px;font-weight:900}
.ly-btn:disabled{opacity:.5;cursor:not-allowed}
/* زرّ داخل عمود مرن لا يتمدّد بعرض البطاقة */
.ly-card>.ly-btn,.ly-msec>.ly-btn,.ly-col>.ly-btn{align-self:flex-start}
:root[data-theme="dark"] .ly-btn.go,:root[data-theme="dark"] .ly-btn.primary{color:#160c22}
.ly-link{border:0;background:none;padding:0;color:var(--primary);font-family:inherit;font-size:12.5px;font-weight:800;
  text-decoration:underline;cursor:pointer;align-self:flex-start}
.ly-in{height:38px;border-radius:9px;border:1px solid var(--ly-inb,var(--border));padding:0 8px;background:var(--surface);
  color:var(--text);font-family:inherit;font-size:14px;font-weight:800;min-width:0}
.ly-in.big{height:42px;font-size:17px;font-weight:900}
.ly-in.bad{border:2px solid var(--crit);background:var(--crit-bg)}
.ly-in:disabled,.ly-sel:disabled{opacity:.6;cursor:not-allowed}
.ly-in:focus,.ly-sel:focus{outline:2px solid color-mix(in srgb,var(--primary) 45%,transparent);outline-offset:1px}
.ly-in.w44{width:44px}.ly-in.w52{width:52px}.ly-in.w54{width:54px}.ly-in.w56{width:56px}.ly-in.w60{width:60px}
.ly-in.w64{width:64px}.ly-in.w70{width:70px}.ly-in.w80{width:80px}.ly-in.w84{width:84px}.ly-in.w90{width:90px}
.ly-in.w100{width:100px}.ly-in.w130{width:130px}
.ly-sel{height:40px;border-radius:10px;border:1px solid var(--ly-inb,var(--border));background:var(--surface);color:var(--text);
  font-family:inherit;font-size:13px;font-weight:800;padding:0 8px;min-width:0;max-width:100%}
.lyx input[type="checkbox"],.ly-dlg input[type="checkbox"]{width:18px;height:18px;accent-color:var(--primary);flex:none;margin:0}
.ly-pill{font-size:12px;font-weight:800;color:var(--muted);background:var(--ly-seg,var(--surface-2));border-radius:999px;
  padding:3px 12px;white-space:nowrap}
.ly-pill.good{color:var(--good);background:var(--good-bg)}
.ly-pill.warn{color:var(--warn);background:var(--warn-bg)}
.ly-pill.crit{color:var(--crit);background:var(--crit-bg)}
.ly-pill.info{color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,var(--surface))}
.ly-ttag{display:inline-flex;align-items:center;gap:5px;padding:2px 10px 2px 8px;border-radius:999px;background:var(--ly-bg);
  color:var(--ly-fg);font-size:12px;font-weight:800;white-space:nowrap}

/* حالة «لم يُبنَ في الخادم بعد» — هادئة لا إنذار، لكنها لا تُشبه بيانات. */
.ly-missing{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:var(--surface-2);
  border:1px dashed var(--border);color:var(--muted);font-size:12.5px;line-height:1.7}
.ly-missing svg{width:18px;height:18px;flex:none;margin-top:2px}
.ly-missing b{display:block;color:var(--text);font-size:13px}
.ly-empty{padding:14px;text-align:center;color:var(--faint);font-size:13px}
.ly-banner{display:flex;gap:8px;align-items:flex-start;border-radius:12px;padding:10px 14px;font-size:13px;font-weight:700;
  line-height:1.7;background:var(--surface);border:1px solid var(--border);color:var(--text)}
.ly-banner svg{width:16px;height:16px;flex:none;margin-top:4px}
.ly-banner.good{background:var(--good-bg);border-color:var(--good-line);color:var(--good)}
.ly-banner.warn{background:var(--warn-bg);border-color:var(--warn-line);color:var(--warn)}
.ly-stale{font-size:12px;font-weight:800;color:var(--warn)}

/* ============================ الهيكل ============================ */
.ly-tabs{display:flex;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:5px;
  align-self:flex-start;flex-wrap:wrap;max-width:100%}
.ly-tabs button{height:40px;padding:0 18px;border-radius:10px;border:0;background:transparent;color:var(--text);
  font-family:inherit;font-size:14px;font-weight:800;cursor:pointer}
.ly-tabs button:hover{background:var(--ly-seg)}
.ly-tabs button[aria-selected="true"]{background:var(--primary);color:#fff}
:root[data-theme="dark"] .ly-tabs button[aria-selected="true"]{color:#160c22}
.ly-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:18px 20px;display:flex;
  flex-direction:column;gap:12px;min-width:0}
.ly-cardh{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;justify-content:space-between}
.ly-cardh>div:first-child{flex:1 1 280px;min-width:0}
.ly-g3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:14px}
.ly-g2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(400px,100%),1fr));gap:14px}
.ly-g2w{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(440px,100%),1fr));gap:14px}
.ly-g2f{display:flex;gap:14px;flex-wrap:wrap}
.ly-g2f>.ly-card{flex:1 1 420px}
.ly-div{height:1px;background:var(--border-soft)}

/* ============================ المفتاحان ============================ */
.ly-sw-row{display:flex;gap:14px;flex-wrap:wrap}
.ly-sw{flex:1 1 360px;min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:16px;
  display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ly-sw.on{border-color:var(--good-line)}
.ly-sw-t{flex:1 1 220px;min-width:0}
.ly-sw .nm{font-size:15px;font-weight:900}
.ly-sw .ds{font-size:12px;color:var(--muted);line-height:1.7}
.ly-sw-err{margin-top:6px;font-size:12px;font-weight:800;color:var(--crit);line-height:1.6}

/* ============================ نظرة عامة ============================ */
.ly-tbars{display:grid;grid-template-columns:80px 1fr 40px;gap:10px;align-items:center;font-size:13px;font-weight:800}
.ly-tbars .tr{height:14px;border-radius:4px;background:var(--ly-track);overflow:hidden}
.ly-tbars .tr i{display:block;height:100%;border-radius:4px;background:var(--ly-ac)}
.ly-tbars .v{text-align:left;font-variant-numeric:tabular-nums}
.ly-line{display:flex;justify-content:space-between;gap:10px;font-size:13.5px}
.ly-line b,.ly-line span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}
.ly-line.total{font-size:15px;font-weight:900}
.ly-line.warn{color:var(--warn);font-weight:700}
.ly-line.info{color:var(--primary);font-weight:700}
.ly-grid3,.ly-grid2{display:grid;gap:8px 12px;font-size:13px;align-items:center}
.ly-grid3{grid-template-columns:1fr 120px 110px}
.ly-grid2{grid-template-columns:1fr 1.4fr}
.ly-grid3 .h,.ly-grid2 .h{color:var(--muted);font-size:12px;font-weight:800}
.ly-who{border:0;background:none;padding:0;font-family:inherit;font-size:inherit;font-weight:800;color:var(--primary);
  cursor:pointer;text-align:start}
.ly-who:hover{text-decoration:underline}
.ly-warnt{color:var(--warn);font-weight:800}

/* ============================ جداول ============================ */
.ly-scroll{overflow-x:auto;max-width:100%}
.ly-tblbox{border:1px solid var(--border-soft);border-radius:14px}
/* app.css يعطي كل جدول min-width:640px وحدّاً سفلياً لكل خلية — يُلغيان هنا
   وتُعطى الجداول العريضة حدّها صراحةً، فلا يُقصّ عمود في بطاقة ضيّقة. */
.ly-tbl{width:100%;min-width:0;border-collapse:collapse;font-size:13px}
.ly-tbl.wide{min-width:760px}
.ly-tbl th,.ly-tbl td{border-bottom:0;text-align:start}
.ly-tbl th{background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:800;padding:9px 12px;text-align:start;white-space:nowrap}
.ly-tbl td{padding:9px 12px;border-top:1px solid var(--border-soft);vertical-align:middle}
.ly-tbl td.num,.ly-tbl td.ltr{white-space:nowrap}
.ly-tbl td.acts{white-space:nowrap;text-align:end}
.ly-tbl td.acts .ly-btn+.ly-btn{margin-inline-start:6px}
.ly-tiers{min-width:900px}
.ly-tiers.cus{min-width:600px}
.ly-tiers td{padding:8px 12px}
.ly-tname{display:flex;align-items:center;gap:8px}
.ly-tname b{font-weight:900;color:var(--ly-fg);white-space:nowrap}
.ly-hint{font-size:11px;color:var(--muted);margin-top:3px;white-space:nowrap}
.ly-mt{font-size:10.5px;color:var(--faint);margin-inline-start:6px}
.ly-pager{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--muted);font-weight:700;flex-wrap:wrap}

/* ============================ الإعدادات ============================ */
.ly-rules{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));gap:12px}
.ly-rules2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:12px}
.ly-rule{border:1px solid var(--border);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:8px;background:var(--surface-2)}
.ly-rule .t{font-size:14px;font-weight:900}
.ly-rule .r{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ly-rule .r span{font-size:13px;color:var(--muted);font-weight:700}
.ly-rule .n{font-size:11.5px;color:var(--muted);line-height:1.6}
.ly-rule.row{flex-direction:row;align-items:center;flex-wrap:wrap;font-size:13.5px;font-weight:800;line-height:1.8}
.ly-prev{border:2px solid color-mix(in srgb,var(--primary) 32%,var(--border))}
.ly-ptiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ly-ptile{border-radius:14px;background:var(--ly-bg);padding:12px;text-align:center}
.ly-ptile .k{font-size:12px;font-weight:800;color:var(--ly-fg)}
.ly-ptile .v{font-family:var(--fdisplay);font-size:24px;font-weight:900;font-variant-numeric:tabular-nums}
.ly-psum{display:flex;gap:18px;flex-wrap:wrap;font-size:13.5px}
.ly-psum b{font-variant-numeric:tabular-nums}
.ly-psum .b{font-weight:900}
.ly-extras{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(330px,100%),1fr));gap:12px}
.ly-extra{border:1px solid var(--border);border-radius:14px;padding:14px;background:var(--surface-2);display:flex;flex-direction:column;gap:8px;min-width:0}
.ly-xt{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:900;cursor:pointer}
.ly-xd{font-size:12.5px;color:var(--muted);line-height:1.7}
.ly-xc{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;cursor:pointer;flex-wrap:wrap}
.ly-inl{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ly-bul{font-size:13px;line-height:1.9}
.ly-flbl{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:800;color:var(--muted);flex-wrap:wrap}
.ly-flbl.lg{font-size:13.5px;color:var(--text)}
.ly-cfg{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid var(--border-soft);border-radius:12px;padding:10px 12px}
.ly-cfg .b{font-size:13.5px;font-weight:900}
.ly-dashed{align-self:flex-start;height:38px;padding:0 14px;border-radius:10px;border:1px dashed color-mix(in srgb,var(--primary) 40%,var(--border));
  background:var(--surface-2);font-family:inherit;font-size:13px;font-weight:800;color:var(--primary);cursor:pointer}
.ly-cfedit{border:1px solid var(--border);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:10px;background:var(--surface-2)}
.ly-cfrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ly-pick{display:flex;flex-direction:column;gap:8px}
.ly-pickh{display:flex;justify-content:space-between;gap:8px;font-size:12.5px;font-weight:800}
.ly-pickh b{color:var(--primary)}
.ly-chips{display:flex;flex-wrap:wrap;gap:6px;max-height:180px;overflow-y:auto;padding:2px}
.ly-chip{height:32px;padding:0 12px;border-radius:999px;font-family:inherit;font-size:12.5px;font-weight:700;border:1px solid var(--border);
  background:var(--surface);color:var(--text);cursor:pointer}
.ly-chip[aria-pressed="true"]{border:2px solid var(--primary);color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--surface))}
.ly-savebar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.ly-dirty{font-size:12.5px;font-weight:800;color:var(--warn)}
.ly-dirty.bad{color:var(--crit)}
.ly-costs{display:grid;grid-template-columns:1fr auto;gap:8px 16px;font-size:13.5px;align-items:center}
.ly-costs b{font-variant-numeric:tabular-nums}

/* ============================ التقارير ============================ */
.ly-filters{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:14px 16px;display:flex;gap:10px;
  align-items:center;flex-wrap:wrap}
.ly-seg{display:flex;gap:4px;background:var(--ly-seg);border-radius:12px;padding:4px}
.ly-seg button{height:36px;padding:0 14px;border-radius:9px;border:0;background:transparent;font-family:inherit;font-size:13px;
  font-weight:800;color:var(--text);cursor:pointer}
.ly-seg button[aria-pressed="true"]{background:var(--primary);color:#fff}
:root[data-theme="dark"] .ly-seg button[aria-pressed="true"]{color:#160c22}
.ly-seg.sm{border-radius:10px;padding:3px}
.ly-seg.sm button{height:32px;padding:0 12px;font-size:12.5px;border-radius:8px;color:var(--muted)}
.ly-seg.sm button[aria-pressed="true"],:root[data-theme="dark"] .ly-seg.sm button[aria-pressed="true"]{background:var(--surface);color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.ly-chk{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:800;cursor:pointer}
.ly-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}
.ly-kpi{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:4px}
.ly-kpi .k{font-size:12px;color:var(--muted);font-weight:800}
.ly-kpi .v{font-family:var(--fdisplay);font-size:22px;font-weight:900;font-variant-numeric:tabular-nums}
.ly-kpi .d{font-size:12px;font-weight:800;color:var(--muted)}
.ly-legend{display:flex;gap:16px;flex-wrap:wrap}
.ly-legend>span{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:800;color:var(--muted)}
.lyx .sw{width:12px;height:12px;border-radius:3px;display:inline-block;flex:none}

/* أعمدة الصرف المكدّسة — التلميح يظهر بالمرور أو بالتركيز من لوحة المفاتيح */
.ly-sbar .plot{position:relative}
.ly-sbar .gl{position:absolute;inset-inline:0;height:1px;background:var(--border-soft)}
.ly-sbar .gv{position:absolute;inset-inline-start:0;font-size:11px;color:var(--faint);font-variant-numeric:tabular-nums}
.ly-sbar .base{position:absolute;inset-inline:46px 0;bottom:30px;height:1px;background:var(--border)}
.ly-sbar .cols{position:absolute;inset-inline:46px 0;top:0;bottom:30px;display:flex;align-items:flex-end;gap:14px}
.ly-sbar .col{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;
  position:relative;border-radius:8px 8px 0 0;outline:none;cursor:default}
.ly-sbar .col:hover,.ly-sbar .col:focus-visible{background:var(--ly-seg)}
.ly-sbar .tot{font-size:11.5px;font-weight:800;color:var(--muted);margin-bottom:4px;font-variant-numeric:tabular-nums;white-space:nowrap}
.ly-sbar .stk{width:min(46px,72%);display:flex;flex-direction:column-reverse;gap:2px}
.ly-sbar .stk i{display:block}
.ly-sbar .stk i:last-child{border-radius:4px 4px 0 0}
.ly-sbar .tip{display:none;position:absolute;inset-inline-start:50%;transform:translateX(50%);z-index:3;background:var(--sidebar-bg);
  color:#fff;border-radius:10px;padding:8px 10px;font-size:12px;min-width:180px;box-shadow:0 10px 24px rgba(43,26,66,.3);pointer-events:none}
.ly-sbar .col:first-child .tip{transform:translateX(15%)}
.ly-sbar .col:last-child .tip{transform:translateX(85%)}
.ly-sbar .col:hover .tip,.ly-sbar .col:focus .tip{display:block}
.ly-sbar .tip>b{display:block;margin-bottom:4px;font-weight:900}
.ly-sbar .tip div{display:flex;align-items:center;gap:6px}
.ly-sbar .tip div span:nth-child(2){flex:1}
.ly-sbar .tip div b{font-variant-numeric:tabular-nums}
.ly-sbar .tip .sw{width:9px;height:9px;border-radius:2px}
.ly-sbar .xs{display:flex;gap:14px;padding-inline-start:46px;margin-top:-26px;height:26px}
.ly-sbar .xs span{flex:1;min-width:0;text-align:center;font-size:12px;font-weight:800;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ly-dist{display:grid;grid-template-columns:58px 1fr 100px;gap:10px;align-items:center}
.ly-dist .m{font-size:12.5px;font-weight:800;color:var(--muted)}
.ly-dist .bar{display:flex;gap:2px;height:18px;min-width:0}
.ly-dist .bar i{display:block;height:100%}
.ly-dist .bar i:first-child{border-start-start-radius:4px;border-end-start-radius:4px}
.ly-dist .bar i:last-child{border-start-end-radius:4px;border-end-end-radius:4px}
.ly-dist .bar em{font-style:normal;color:var(--faint);font-size:12px}
.ly-dist .c{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.ly-src{display:grid;grid-template-columns:150px 1fr 70px;gap:10px;align-items:center}
.ly-src .l{font-size:13px;font-weight:800}
.ly-src .tr{height:14px;background:var(--ly-track);border-radius:4px;overflow:hidden}
.ly-src .tr i{display:block;height:100%;border-radius:4px}
.ly-src .v{font-size:13px;font-weight:900;font-variant-numeric:tabular-nums;text-align:left}
.ly-mx{min-width:440px}
.ly-mx th,.ly-mx td{text-align:center;padding:8px}
.ly-mx th.s,.ly-mx td.s{text-align:start}
.ly-mx td{font-weight:900;font-variant-numeric:tabular-nums}
.ly-mx td.same{background:var(--ly-seg)}
.ly-mx td.up{background:var(--good-bg);color:var(--good)}
.ly-mx td.down{background:var(--warn-bg);color:var(--warn)}
.ly-mx td.zero{color:var(--faint)}
.ly-mxsum{display:flex;gap:16px;font-size:12.5px;font-weight:800;flex-wrap:wrap;color:var(--muted)}
.ly-mxsum .up{color:var(--good)}
.ly-mxsum .down{color:var(--warn)}
.ly-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}
.ly-tile{border-radius:14px;background:var(--surface-2);padding:12px}
.ly-tile .k{font-size:12px;color:var(--muted);font-weight:800}
.ly-tile .v{font-size:20px;font-weight:900;font-variant-numeric:tabular-nums}
.ly-tile .v small{font-size:12px;color:var(--muted);font-weight:700}

/* ============================ ملف عضوية ============================ */
.ly-sbox{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:14px;
  padding:0 14px;height:52px;max-width:560px}
.ly-sbox svg{width:18px;height:18px;color:var(--muted);flex:none}
.ly-sbox input{flex:1;border:0;outline:0;background:transparent;font-family:inherit;font-size:15px;font-weight:800;color:var(--text);min-width:0}
.ly-results{display:flex;flex-direction:column;gap:10px;max-width:760px;background:var(--surface);border:1px solid var(--border);
  border-radius:14px;padding:12px}
.ly-rgroup .h{font-size:12px;font-weight:800;color:var(--muted);margin-bottom:4px}
.ly-ritem{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;padding:8px;border-radius:10px;
  font-family:inherit;font-size:13px;color:var(--text);cursor:pointer;text-align:start;flex-wrap:wrap}
.ly-ritem:hover,.ly-ritem:focus-visible{background:var(--surface-2)}
.ly-ritem .nm{font-weight:800}
.ly-mwrap{display:flex;flex-direction:column;gap:14px}
.ly-mgrid{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-start}
.ly-mside{flex:1 1 340px}
.ly-mmain{flex:2 1 520px}
.ly-mhead{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ly-mhead .av{width:52px;height:52px;border-radius:50%;background:color-mix(in srgb,var(--primary) 12%,var(--surface));color:var(--primary);
  font-size:20px;font-weight:900;display:flex;align-items:center;justify-content:center;flex:none}
.ly-mhead .id{flex:1;min-width:0}
.ly-mhead .nm{font-size:17px;font-weight:900}
.ly-tbox{border-radius:14px;background:var(--ly-bg);border:1px solid color-mix(in srgb,var(--ly-ac) 35%,transparent);padding:14px;
  display:flex;flex-direction:column;gap:6px;color:var(--ly-fg)}
.ly-tbox .r1{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ly-tbox .tn{font-size:20px;font-weight:900}
.ly-tbox .tu{font-size:12.5px;font-weight:700}
.ly-tbox .r2{font-size:13px}
.ly-tbox .ly-proj{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-weight:700}
.ly-tbox .ly-proj span{font-weight:600}
.ly-tbox .ly-proj.down{color:var(--warn)}
.ly-cond{display:grid;grid-template-columns:1fr auto auto;gap:8px 14px;font-size:13px;align-items:center}
.ly-cond .h{color:var(--muted);font-size:12px;font-weight:800}
.ly-cond .b{font-weight:800}
.ly-ok{color:var(--good);font-weight:900;white-space:nowrap}
.ly-bad{color:var(--warn);font-weight:900;white-space:nowrap}
.ly-badges{display:flex;flex-wrap:wrap;gap:6px}
.ly-badge{font-size:11.5px;font-weight:800;padding:3px 10px;border-radius:999px;border:1px dashed var(--border);color:var(--muted)}
.ly-badge.on{border-style:solid;border-color:color-mix(in srgb,var(--primary) 35%,var(--border));color:var(--primary);
  background:color-mix(in srgb,var(--primary) 9%,var(--surface))}
.ly-msec{border-top:1px solid var(--border-soft);padding-top:12px;display:flex;flex-direction:column;gap:8px}
.ly-msec h3{margin:0;font-size:14px;font-weight:900}
.ly-fzlist{display:flex;flex-direction:column;gap:6px}
.ly-fz,.ly-cp{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid var(--border-soft);border-radius:10px;padding:8px 10px;font-size:13px}
.ly-fz.off,.ly-cp.used{opacity:.6}
.ly-adj{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.ly-adj .grow{flex:1 1 260px}
.ly-pp{color:var(--good)}
.ly-pn{color:var(--crit)}
.ly-pz{color:var(--faint)}

/* ============================ نافذة التأكيد (خارج الجذر) ============================ */
.ly-ovl{position:fixed;inset:0;background:rgba(23,12,36,.5);display:flex;align-items:flex-start;justify-content:center;
  padding:120px 16px 16px;z-index:300;overflow:auto}
.ly-dlg{width:520px;max-width:100%;background:var(--surface);color:var(--text);border-radius:20px;padding:22px;display:flex;
  flex-direction:column;gap:14px;box-shadow:0 24px 60px rgba(0,0,0,.35);font-family:var(--fbody);--ly-inb:var(--border)}
.ly-dlg h3{margin:0;font-size:19px;font-weight:900}
.ly-ctiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;text-align:center}
.ly-ctile{border-radius:12px;background:var(--ly-bg);padding:10px}
.ly-ctile .k{font-size:12px;color:var(--ly-fg);font-weight:800}
.ly-ctile .v{font-size:18px;font-weight:900;font-variant-numeric:tabular-nums}
.ly-ctile .s{font-size:11px;color:var(--muted)}
.ly-effbox{font-size:13px;line-height:1.8;background:var(--warn-bg);border:1px solid var(--warn-line);color:var(--warn);border-radius:12px;
  padding:10px 12px;font-weight:700}
.ly-effbox.now{background:var(--good-bg);border-color:var(--good-line);color:var(--good)}
.ly-dlbl{display:flex;flex-direction:column;gap:6px;font-size:12.5px;font-weight:800}
.ly-dlbl .ly-in{width:100%;font-weight:600}
.ly-dlgerr{color:var(--crit);background:var(--crit-bg);border:1px solid var(--crit-line);border-radius:10px;padding:8px 12px;font-size:13px;font-weight:700;line-height:1.7}
.ly-dlgbtns{display:flex;gap:10px}
.ly-dlgbtns .grow{flex:1}

/* ============================ خارج القسم ============================ */
/* شارة الولاء في رأس ملف الكابتنة/العميلة: حبّة بألوان المستوى وجوهرته —
   لا تشبه تاج سلّم الحوافز (مربّع بنفسجي برقم روماني) ولا «عميلة وفيّة». */
.ly-pchip{display:inline-flex;align-items:center;gap:6px;padding:3px 11px 3px 9px;border-radius:999px;background:var(--ly-bg);
  color:var(--ly-fg);border:1px solid var(--ly-ac);font-family:inherit;font-size:11.5px;font-weight:800;white-space:nowrap;cursor:pointer;
  line-height:1.6}
.ly-pchip small{font-size:10.5px;font-weight:700;opacity:.8}
.ly-pchip:hover{filter:brightness(1.04)}
.ibx-chip.ly-chat-prio{border-color:var(--warn-line);background:var(--warn-bg);color:var(--warn)}
.ibx-chip.ly-chat-tier{display:inline-flex;align-items:center;gap:3px;background:var(--ly-bg);color:var(--ly-fg);
  border-color:color-mix(in srgb,var(--ly-ac) 55%,transparent)}

@media (max-width:640px){
  .ly-head h1{font-size:23px}
  .ly-card{padding:14px}
  .ly-ptiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ly-tbars{grid-template-columns:72px 1fr 34px}
  .ly-grid3{grid-template-columns:1fr 92px 80px}
  .ly-src{grid-template-columns:108px 1fr 58px}
  .ly-dist{grid-template-columns:50px 1fr 84px}
  .ly-tabs{align-self:stretch}
  .ly-tabs button{flex:1 1 auto;padding:0 12px}
  .ly-sbar .cols,.ly-sbar .xs{gap:6px}
  .ly-ovl{padding-top:40px}
}
