@font-face{font-family:'Amiri';font-weight:400;src:url('../assets/fonts/amiri-arabic-400-normal.woff2') format('woff2');font-display:swap;unicode-range:U+0000-0027,U+002A-10FFFF}
@font-face{font-family:'Amiri';font-weight:700;src:url('../assets/fonts/amiri-arabic-700-normal.woff2') format('woff2');font-display:swap;unicode-range:U+0000-0027,U+002A-10FFFF}
@font-face{font-family:'Tajawal';font-weight:300;src:url('../assets/fonts/tajawal-arabic-300-normal.woff2') format('woff2');font-display:swap}
@font-face{font-family:'Tajawal';font-weight:400;src:url('../assets/fonts/tajawal-arabic-400-normal.woff2') format('woff2');font-display:swap}
@font-face{font-family:'Tajawal';font-weight:500;src:url('../assets/fonts/tajawal-arabic-500-normal.woff2') format('woff2');font-display:swap}
@font-face{font-family:'Tajawal';font-weight:700;src:url('../assets/fonts/tajawal-arabic-700-normal.woff2') format('woff2');font-display:swap}
@font-face{font-family:'Tajawal';font-weight:800;src:url('../assets/fonts/tajawal-arabic-800-normal.woff2') format('woff2');font-display:swap}
/* ============================================================
   منظومة إحصائيات النيابة الإدارية — نظام التصميم
   هوية: فخامة قضائية — زمردي عميق × ذهبي × عاجي
   ============================================================ */
:root{
  /* الألوان كلها في css/tokens.css (ملف واحد للبرنامجين) */
  --shadow-lg:0 24px 60px -18px rgba(7,41,27,.35);
  --shadow-md:0 10px 30px -12px rgba(7,41,27,.25);
  --shadow-sm:0 3px 10px -3px rgba(7,41,27,.18);
  --r-lg:22px; --r-md:14px; --r-sm:9px;
  --f-display:'Amiri',serif;
  --f-ui:'Tajawal',sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px}
body{
  font-family:var(--f-ui); color:var(--ink); background:var(--ivory);
  min-height:100vh; direction:rtl; -webkit-font-smoothing:antialiased;
}
/* خلفية فاخرة: تدرج زمردي مع نقش هندسي خافت */
.bg-stage{
  position:fixed; inset:0; z-index:-2;
  background:
    radial-gradient(1200px 600px at 85% -10%, #14573533 0%, transparent 60%),
    radial-gradient(900px 500px at 10% 110%, #C9A22722 0%, transparent 55%),
    var(--ivory);
}
.bg-stage::after{
  content:""; position:absolute; inset:0; opacity:.05;
  background-image:
    repeating-linear-gradient(45deg, var(--emerald-800) 0 1px, transparent 1px 26px),
    repeating-linear-gradient(-45deg, var(--emerald-800) 0 1px, transparent 1px 26px);
}
button{font-family:inherit;cursor:pointer;border:none;background:none}
input,select,textarea{font-family:inherit;font-size:1rem;color:var(--ink)}
::selection{background:var(--gold-300)}

/* ============ شاشة الدخول ============ */
.entry{
  min-height:100vh; display:grid; place-items:center; padding:2rem 1rem;
}
.entry-card{
  width:min(560px,100%); background:var(--paper); border-radius:var(--r-lg);
  box-shadow:var(--shadow-lg); overflow:visible; position:relative;
  border:1px solid var(--line);
  animation:rise .7s cubic-bezier(.2,.9,.25,1) both;
}
@keyframes rise{from{opacity:0;transform:translateY(26px) scale(.985)}to{opacity:1;transform:none}}
.entry-head{
  background:linear-gradient(160deg,var(--emerald-950),var(--emerald-800) 70%,#14603A);
  padding:2.4rem 2rem 2.3rem; text-align:center; position:relative;
  border-radius:calc(var(--r-lg) - 1px) calc(var(--r-lg) - 1px) 0 0;
}
.entry-head::after{ /* خط ذهبي مزدوج أسفل الرأس */
  content:""; position:absolute; inset-inline:0; bottom:0; height:5px;
  background:linear-gradient(90deg,transparent,var(--gold-500) 18%,var(--gold-300) 50%,var(--gold-500) 82%,transparent);
}
.entry-logo{
  width:118px; height:118px; border-radius:50%; object-fit:cover;
  border:3px solid var(--gold-400); box-shadow:0 0 0 7px #C9A22722, 0 14px 30px -8px rgba(0,0,0,.5);
  background:#fff; animation:glow 4s ease-in-out infinite;
}
@keyframes glow{0%,100%{box-shadow:0 0 0 7px #C9A22722,0 14px 30px -8px rgba(0,0,0,.5)}50%{box-shadow:0 0 0 10px #C9A22733,0 14px 34px -8px rgba(0,0,0,.55)}}
.entry-title{
  font-family:var(--f-display); color:var(--gold-300); font-size:1.9rem; margin-top:1rem;
  letter-spacing:.5px; text-shadow:0 2px 10px rgba(0,0,0,.35);
}
.entry-sub{color:#CFE4D6; font-size:.95rem; margin-top:.35rem; font-weight:300}
.entry-body{padding:1.7rem 2rem 2.2rem; position:relative}
.field{margin-bottom:1.15rem; animation:rise .6s .15s backwards; position:relative; z-index:1}
.field+.field{animation-delay:.25s}
.field:focus-within{z-index:200}
.field-label{
  display:flex; align-items:center; gap:.45rem;
  font-weight:700; font-size:.92rem; color:var(--emerald-900); margin-bottom:.45rem;
}
.field-label .num{
  width:22px;height:22px;border-radius:50%;background:var(--gold-500);color:var(--emerald-950);
  display:grid;place-items:center;font-size:.78rem;font-weight:800;
}

/* قائمة بحث منسدلة */
.combo{position:relative}
.combo-input{
  width:100%; padding:.9rem 1.05rem; padding-inline-start:2.6rem;
  border:1.5px solid var(--line-strong); border-radius:var(--r-md);
  background:var(--paper); font-size:1.02rem; transition:.22s;
}
.combo-input::placeholder{color:var(--ink-3)}
.combo-input:focus{outline:none;border-color:var(--gold-500);box-shadow:0 0 0 4px #C9A22726}
.combo-input:disabled{background:var(--ivory-2);cursor:not-allowed;opacity:.7}
.combo-ic{
  position:absolute; inset-inline-start:.95rem; top:50%; transform:translateY(-50%);
  color:var(--emerald-700); pointer-events:none; font-size:1.05rem;
}
.combo-clear{
  position:absolute; inset-inline-end:.7rem; top:50%; transform:translateY(-50%);
  width:26px;height:26px;border-radius:50%;display:none;place-items:center;
  color:var(--ink-3); font-size:1.05rem;
}
.combo.has-value .combo-clear{display:grid}
.combo-clear:hover{background:var(--ivory-2);color:var(--err)}
.combo-list{
  position:absolute; top:calc(100% + 7px); inset-inline:0; z-index:300;
  background:#FFFDF6; border:1.5px solid var(--line-strong); border-radius:var(--r-md);
  box-shadow:0 18px 44px -10px rgba(7,41,27,.38); max-height:285px; overflow:auto; display:none;
}
.combo.open .combo-list{display:block;animation:pop .18s ease-out}
@keyframes pop{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
.combo-group{
  position:sticky; top:0; background:var(--ivory-2); color:var(--emerald-900);
  font-size:.78rem; font-weight:800; padding:.45rem .95rem; letter-spacing:.4px;
  border-block:1px solid var(--line);
}
.combo-item{
  padding:.7rem .95rem; cursor:pointer; display:flex; justify-content:space-between; gap:.6rem;
  transition:background .12s;
}
.combo-item:hover,.combo-item.active{background:#1F7E4E12}
.combo-item mark{background:var(--gold-300);border-radius:3px;padding:0 1px}
.combo-empty{padding:1rem;text-align:center;color:var(--ink-3);font-size:.92rem}

.btn-primary{
  width:100%; margin-top:.5rem; padding:1rem;
  background:linear-gradient(135deg,var(--emerald-800),var(--emerald-600));
  color:#fff; font-size:1.12rem; font-weight:800; border-radius:var(--r-md);
  box-shadow:var(--shadow-md), inset 0 1px 0 #ffffff22;
  position:relative; overflow:hidden; transition:.25s; letter-spacing:.4px;
}
.btn-primary::after{ /* لمعة ذهبية */
  content:""; position:absolute; top:0; inset-inline-start:-60%; width:45%; height:100%;
  background:linear-gradient(105deg,transparent,#EBD58F55,transparent);
  transform:skewX(-18deg); transition:.5s;
}
.btn-primary:hover:not(:disabled)::after{inset-inline-start:115%}
.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.btn-primary:disabled{opacity:.45;cursor:not-allowed;filter:saturate(.4)}
.entry-foot{
  text-align:center; padding:0 2rem 1.4rem; color:var(--ink-3); font-size:.8rem;
  display:flex; justify-content:space-between; align-items:center;
}
.ver-badge{
  background:var(--ivory-2); border:1px solid var(--line); border-radius:999px;
  padding:.18rem .7rem; font-size:.74rem; color:var(--emerald-800); font-weight:700;
}

/* ============ شاشات عامة ============ */
.screen{display:none}
.screen.on{display:block}
.shell{max-width:1240px;margin-inline:auto;padding:1.2rem}

/* شريط علوي للتطبيق بعد الدخول */
.topbar{
  background:linear-gradient(160deg,var(--emerald-950),var(--emerald-800));
  color:#fff; border-radius:var(--r-lg); padding:.9rem 1.3rem;
  display:flex; align-items:center; gap:1rem; box-shadow:var(--shadow-md);
  border-bottom:3px solid var(--gold-500);
}
.topbar img{width:52px;height:52px;border-radius:50%;border:2px solid var(--gold-400);object-fit:cover}
.topbar .t1{font-family:var(--f-display);font-size:1.25rem;color:var(--gold-300)}
.topbar .t2{font-size:.82rem;color:#BFD9C9}
.topbar .tt{min-width:0}
.topbar .t1{overflow-wrap:normal}
.topbar .grow{flex:1}
.chip{
  background:#ffffff14;border:1px solid #ffffff2b;border-radius:999px;
  padding:.3rem .85rem;font-size:.8rem;color:#E8F2EB;
}
.btn-ghost{
  color:#E8F2EB;border:1px solid #ffffff33;border-radius:var(--r-sm);
  padding:.45rem .9rem;font-size:.85rem;transition:.2s;font-weight:700;
}
.btn-ghost:hover{background:#ffffff1a;border-color:var(--gold-400)}

/* شاشة البداية: بطاقات الاختيار */
.start-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.2rem;margin-top:1.6rem}
.start-card{
  background:var(--paper);border:1.5px solid var(--line);border-radius:var(--r-lg);
  padding:1.8rem 1.5rem;text-align:center;cursor:pointer;transition:.25s;
  box-shadow:var(--shadow-sm);position:relative;overflow:hidden;
}
.start-card:hover{transform:translateY(-4px);border-color:var(--gold-500);box-shadow:var(--shadow-md)}
.start-card .ic{
  width:64px;height:64px;border-radius:18px;margin:0 auto .9rem;display:grid;place-items:center;
  font-size:1.7rem;background:linear-gradient(135deg,var(--emerald-800),var(--emerald-600));color:var(--gold-300);
  box-shadow:var(--shadow-sm);
}
.start-card h3{font-family:var(--f-display);font-size:1.3rem;color:var(--emerald-900);margin-bottom:.4rem}
.start-card p{font-size:.88rem;color:var(--ink-2);line-height:1.55}
.start-card.draft{border-color:var(--gold-500);background:linear-gradient(180deg,#FFFDF6,#FBF4DE)}
.start-card.draft .ic{background:linear-gradient(135deg,var(--gold-600),var(--gold-400));color:var(--ink-on-gold)}
.badge-soft{display:inline-block;margin-top:.6rem;background:#1F7E4E14;color:var(--emerald-800);
  border-radius:999px;padding:.2rem .75rem;font-size:.76rem;font-weight:800}

.section-title{
  font-family:var(--f-display);font-size:1.5rem;color:var(--emerald-900);
  display:flex;align-items:center;gap:.7rem;margin:1.6rem 0 .4rem;
}
.section-title::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--gold-500),transparent)}
.muted{color:var(--ink-3);font-size:.9rem}

/* Toast */
/* (4.11.3) التوست فوق كل النوافذ (كانت طبقته 99 والنافذة 500 — فرسالة زر
   إعادة الإرسال كانت تظهر خلف نافذة التصدير ولا يراها أحد) */
.toast-wrap{position:fixed;bottom:1.2rem;inset-inline-start:50%;transform:translateX(50%);z-index:700;display:grid;gap:.5rem}
.toast{
  background:var(--emerald-950);color:#fff;border-radius:var(--r-md);padding:.8rem 1.2rem;
  box-shadow:var(--shadow-lg);border-inline-start:4px solid var(--gold-500);
  animation:rise .35s both;font-size:.92rem;max-width:min(480px,90vw);
}
.toast.err{border-color:var(--crimson)}
.toast.ok{border-color:var(--ok)}

@media (max-width:600px){
  .entry-head{padding:1.8rem 1.2rem 3.8rem}
  .entry-body{padding:0 1.2rem 1.6rem}
  .entry-title{font-size:1.55rem}
}

.field:has(.combo.open){z-index:200}
.combo-group{background:#F3EDDD}
.combo-item{background:#FFFDF6}
@media (max-width:600px){ .entry-head{padding:1.8rem 1.2rem 1.9rem} .entry-body{padding:1.4rem 1.2rem 1.6rem} }

/* ============ الشاشة الرئيسية: تابات ============ */
.tabs{display:flex;gap:.4rem;margin-top:1.1rem;border-bottom:2px solid var(--line);padding-bottom:0}
.tab-btn{
  padding:.75rem 1.5rem;font-size:1rem;font-weight:800;color:var(--ink-2);
  border-radius:var(--r-sm) var(--r-sm) 0 0;position:relative;transition:.2s;
  display:flex;align-items:center;gap:.5rem;
}
.tab-btn:hover{color:var(--emerald-800);background:#1F7E4E0d}
.tab-btn.on{color:var(--emerald-900);background:var(--paper);box-shadow:var(--shadow-sm)}
.tab-btn.on::after{
  content:"";position:absolute;bottom:-2px;inset-inline:0;height:3px;
  background:linear-gradient(90deg,var(--gold-600),var(--gold-300),var(--gold-600));
}
.tab-btn .cnt{
  background:var(--emerald-800);color:var(--gold-300);border-radius:999px;
  font-size:.72rem;padding:.1rem .55rem;font-weight:800;
}
.tab-pane{display:none;background:var(--paper);border:1px solid var(--line);border-top:none;
  border-radius:0 0 var(--r-lg) var(--r-lg);padding:1.4rem;box-shadow:var(--shadow-sm)}
.tab-pane.on{display:block;animation:fadein .3s}
@keyframes fadein{from{opacity:0}to{opacity:1}}

/* شريط أدوات التاب */
.pane-bar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.1rem}
.pane-bar .grow{flex:1}
.counter-card{
  display:flex;align-items:center;gap:.7rem;background:linear-gradient(135deg,#0E4D2C0d,#C9A22714);
  border:1.5px solid var(--gold-400);border-radius:var(--r-md);padding:.5rem 1.1rem;
}
.counter-card .n{font-family:var(--f-display);font-size:1.7rem;color:var(--emerald-900);font-weight:700;line-height:1}
.counter-card .l{font-size:.78rem;color:var(--ink-2);line-height:1.35}
.btn-gold{
  background:linear-gradient(135deg,var(--gold-600),var(--gold-400));color:var(--ink-on-gold);
  font-weight:800;padding:.7rem 1.4rem;border-radius:var(--r-md);font-size:.95rem;
  box-shadow:var(--shadow-sm);transition:.2s;display:inline-flex;align-items:center;gap:.5rem;
}
.btn-gold:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.btn-outline{
  border:1.5px solid var(--emerald-700);color:var(--emerald-800);font-weight:700;
  padding:.6rem 1.2rem;border-radius:var(--r-md);font-size:.9rem;transition:.2s;
}
.btn-outline:hover{background:#1F7E4E10}
.btn-danger-soft{color:var(--err);border:1.5px solid #A8232B44;border-radius:var(--r-md);
  padding:.6rem 1.2rem;font-weight:700;font-size:.9rem;transition:.2s}
.btn-danger-soft:hover{background:#A8232B10}

/* جدول الأعضاء */
.mtable{width:100%;border-collapse:separate;border-spacing:0}
.mtable th{
  background:linear-gradient(180deg,#F3EDDD,#EAE2CB);color:#111;font-size:.85rem;font-weight:700;
  border-bottom:2px solid var(--emerald-800);
  padding:.75rem .9rem;text-align:right;white-space:nowrap;
}
.mtable th:first-child{border-radius:0 var(--r-sm) 0 0}
.mtable th:last-child{border-radius:var(--r-sm) 0 0 0}
.mtable td{padding:.8rem .9rem;border-bottom:1px solid var(--line);font-size:.95rem;vertical-align:middle}
.mtable tr:nth-child(even) td{background:#F8F3E6}
.mtable tr:hover td{background:#1F7E4E0a}
.mtable .idx{color:var(--ink-3);font-size:.85rem;width:2.2rem}
.mtable .mname{font-weight:700;color:var(--ink)}
.rank-pill{
  display:inline-block;background:#0E4D2C12;color:var(--emerald-900);border:1px solid #0E4D2C2b;
  border-radius:999px;padding:.18rem .8rem;font-size:.8rem;font-weight:700;white-space:nowrap;
}
.st-pill{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.2rem .8rem;font-size:.78rem;font-weight:800;white-space:nowrap}
.st-act{background:#1F7E4E16;color:var(--emerald-800)}
.st-part{background:#C9A22722;color:#7A5E0E}
.st-leave{background:#8E610D1a;color:var(--leave)}
.st-sec{background:#5A4FA01a;color:#5A4FA0}
.st-trans{background:#A8232B14;color:var(--crimson)}
.st-date{font-size:.72rem;color:var(--ink-3)}
.row-acts{display:flex;gap:.35rem;justify-content:flex-end}
.icon-btn{
  width:34px;height:34px;border-radius:var(--r-sm);display:grid;place-items:center;
  color:var(--ink-2);font-size:1rem;transition:.15s;border:1px solid transparent;
}
.icon-btn:hover{background:var(--ivory-2);border-color:var(--line-strong);color:var(--emerald-800)}
.icon-btn.del:hover{color:var(--err);border-color:#A8232B44}
.empty-state{
  text-align:center;padding:3rem 1rem;color:var(--ink-3);
}
.empty-state .big{font-size:2.6rem;margin-bottom:.6rem;opacity:.5}
.empty-state h4{font-family:var(--f-display);color:var(--emerald-900);font-size:1.25rem;margin-bottom:.3rem}

/* مودال */
.modal-veil{
  position:fixed;inset:0;background:#07291Bb3;backdrop-filter:blur(3px);z-index:500;
  display:none;place-items:center;padding:1rem;
}
.modal-veil.on{display:grid;animation:fadein .2s}
.modal{
  width:min(540px,100%);background:var(--paper);border-radius:var(--r-lg);
  box-shadow:var(--shadow-lg);border-top:4px solid var(--gold-500);
  animation:rise .35s both;max-height:92vh;overflow:auto;
}
.modal-head{
  padding:1.2rem 1.5rem .9rem;display:flex;align-items:center;justify-content:space-between;
  border-bottom:1px solid var(--line);
}
.modal-head h3{font-family:var(--f-display);font-size:1.35rem;color:var(--emerald-900)}
.modal-x{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:var(--ink-3);font-size:1.1rem}
.modal-x:hover{background:var(--ivory-2);color:var(--err)}
.modal-body{padding:1.3rem 1.5rem}
.modal-foot{padding:1rem 1.5rem 1.4rem;display:flex;gap:.7rem;justify-content:flex-start}
.f-label{display:block;font-weight:700;font-size:.9rem;color:var(--emerald-900);margin-bottom:.4rem}
.f-input,.f-select{
  width:100%;padding:.8rem 1rem;border:1.5px solid var(--line-strong);border-radius:var(--r-md);
  background:#fff;transition:.2s;font-size:1rem;
}
.f-input:focus,.f-select:focus{outline:none;border-color:var(--gold-500);box-shadow:0 0 0 4px #C9A22726}
.f-row{margin-bottom:1.05rem}
.f-grid2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.f-hint{font-size:.78rem;color:var(--ink-3);margin-top:.3rem}
.f-error{font-size:.8rem;color:var(--err);margin-top:.3rem;display:none}
.f-row.invalid .f-input,.f-row.invalid .f-select{border-color:var(--err)}
/* (4.11.3) نجمةُ الحقل الإلزامي — كانت بلا تنسيق فتظهر بلون النص العادي
   فلا تُميَّز عن سائر الكلام. اصطادها حارس `css-class-check.js`. */
.req{color:var(--err);font-weight:700;margin-inline-start:.15rem}
.f-row.invalid .f-error{display:block}
/* اختيارات الموقف من العمل */
.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.55rem}
.status-opt{
  border:1.5px solid var(--line-strong);border-radius:var(--r-md);padding:.65rem .5rem;
  text-align:center;cursor:pointer;font-size:.85rem;font-weight:700;color:var(--ink-2);transition:.18s;
  background:#fff;
}
.status-opt small{display:block;font-weight:400;font-size:.7rem;color:var(--ink-3);margin-top:.15rem}
.status-opt:hover{border-color:var(--emerald-600)}
.status-opt.sel{border-color:var(--gold-500);background:#C9A2271a;color:var(--emerald-900);box-shadow:0 0 0 3px #C9A22722}
.efrom{display:none;margin-top:1rem}
.efrom.on{display:block;animation:fadein .25s}
@media (max-width:760px){
  .mtable{display:block;overflow-x:auto;white-space:nowrap}
  .f-grid2{grid-template-columns:1fr}
  /* ═══ تجاوب الشاشة الرئيسية (كان غائباً فينسحق التوب بار وتتشوّه الصفحة كلها) ═══ */
  body{overflow-x:hidden}                     /* أي عنصر شارد لا يوسّع الصفحة — الجدول له سكرول داخلي */
  .shell{padding:.65rem}
  .topbar{flex-wrap:wrap;row-gap:.6rem;gap:.6rem;padding:.85rem .9rem}
  .topbar .tt{flex:1 1 55%}                   /* العنوان يملأ جنب الشعار ويلتف طبيعياً */
  .topbar .t1{font-size:1.05rem;line-height:1.35}
  .topbar .grow{display:none}                 /* لا فاصل — العناصر تلتف بصفوف ممتلئة */
  .topbar .chip{flex:1 1 auto;text-align:center;font-size:.72rem;padding:.3rem .5rem}
  .topbar .btn-ghost{flex:1 1 45%;text-align:center;padding:.5rem .4rem;font-size:.82rem}
  .stats-wrap{max-height:68vh}
  .ctrl-card{min-width:0}
}
@media (max-width:600px){
  /* النافذة تملأ العرض المتاح وتتجنّب الطفح */
  .modal-veil{padding:.5rem}
  .modal{width:100%;max-height:94vh}
  .modal-head{padding:1rem 1.1rem .8rem}
  .modal-body{padding:1.1rem 1.1rem}
  .modal-foot{padding:.9rem 1.1rem 1.2rem;flex-wrap:wrap}
  .modal-foot .btn-gold,.modal-foot .btn-outline{flex:1 1 auto}
  /* مربعات التاريخ: تتمدّد بمرونة بدل عرض ثابت يطفح */
  .date3{gap:.3rem}
  .date3 .db-d,.date3 .db-m{flex:1 1 0;min-width:0}
  .date3 .db-y{flex:1.3 1 0;min-width:0}
  .date3 .f-input{padding-inline:.3rem;font-size:.95rem}
  /* صف الرقم القومي: يلتفّ بدل أن يتزاحم */
  #fr-nid > div{flex-wrap:wrap}
  #fr-nid #f-nid{flex:1 1 100%}
  /* شبكة الموقف من العمل: عمودان مضمونان بلا طفح */
  .status-grid{grid-template-columns:repeat(2,1fr)}
  .status-opt{font-size:.8rem;padding:.6rem .35rem}
}

/* ============ تاب الإحصائية: شبكة الإدخال ============ */
.stats-wrap{overflow:auto;max-height:72vh;border:1px solid var(--line);border-radius:var(--r-md);background:#fff;position:relative}
.sgrid{border-collapse:separate;border-spacing:0;min-width:1750px;width:100%}
.sgrid th,.sgrid td{border-inline-start:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;font-size:.82rem}
.sgrid thead th{background:var(--emerald-900);color:#E8F2EB;padding:.45rem .5rem;font-weight:700;white-space:nowrap;position:sticky;z-index:3}
.sgrid thead tr:first-child th{background:linear-gradient(180deg,#F3EDDD,#E8DFC4);color:#111;border-bottom:2px solid var(--emerald-800);font-family:var(--f-display);font-size:1rem}
.sgrid thead .sub2 th{font-size:.72rem;background:var(--emerald-800)}
.stats-wrap.scrolled .sgrid thead th{box-shadow:0 7px 13px -7px rgba(7,41,27,.5)}
/* (3.9.14 — طلب شنودة) رأسا المجموعتين بخلفيتين مختلفتين **بنفس تلوين أعمدة الجسم**:
   الأعوام السابقة عاجي ذهبي (كما td.sec-prev) والعام الحالي أخضر فاتح (كما td.sec-cur)
   — فالعين تربط الرأس بعموده فوراً، والشريط السفلي الملوّن يبقى كما هو. */
.sgrid .grp-prev{background:linear-gradient(180deg,#F4E8C4,#E8D9A6)!important;color:#453405;box-shadow:inset 0 -3px 0 var(--gold-600)}
.sgrid .grp-cur{background:linear-gradient(180deg,#E7F1E7,#D8E9DA)!important;color:#123B22;box-shadow:inset 0 -3px 0 #7FB89A}
.sgrid td{padding:0;background:#fff}
.sgrid .sec-row td{position:sticky;inset-inline-start:0;background:#EAE0BD;color:#111;font-weight:800;text-align:center;padding:.4rem;letter-spacing:.5px;border-right:4px solid var(--emerald-800)}
.sgrid .name-col{
  position:sticky;inset-inline-start:0;z-index:5;background:var(--paper)!important;
  text-align:right;padding:.45rem .7rem;min-width:175px;max-width:210px;
  border-inline-end:2px solid var(--line-strong);box-shadow:2px 0 6px -3px rgba(7,41,27,.15);
}
.sgrid thead .name-col{background:#EAE2CB!important;color:#111;z-index:6}
.sgrid .name-col .nm{font-weight:800;font-size:.86rem;color:var(--ink);line-height:1.3}
.sgrid .name-col .rk{font-size:.68rem;color:var(--ink-3)}
.cell-in{
  width:100%;min-width:58px;border:none;text-align:center;padding:.55rem .25rem;font-size:.98rem;line-height:1.15;
  background:transparent;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;
}
.cell-in:focus{outline:2px solid var(--gold-500);outline-offset:-2px;background:#C9A2270d}
.cell-in::-webkit-outer-spin-button,.cell-in::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.cell-in[type=number]{-moz-appearance:textfield}
td.calc{background:#0E4D2C0a;font-weight:800;color:var(--emerald-900);padding:.55rem .35rem;font-size:.98rem;font-variant-numeric:tabular-nums}
td.calc.pct{background:#C9A22716;color:#7A5E0E;white-space:nowrap}
td.err-cell{
  background:#A8232B22!important;color:var(--err)!important;position:relative;
  box-shadow:inset 0 0 0 2.5px var(--crimson);border-radius:3px;font-weight:800!important;z-index:2;
}
td.err-cell input,td.err-cell .cell-in{color:var(--crimson)!important;font-weight:800}
td.err-cell::after{
  content:"!";position:absolute;top:1px;inset-inline-start:2px;width:13px;height:13px;line-height:13px;
  background:var(--crimson);color:#fff;font-size:.6rem;font-weight:800;border-radius:50%;text-align:center;
}
td.calc.err-cell{font-weight:800}
/* صف يحوي خطأً: شريط أحمر جانبي على عمود الاسم */
tr.row-has-err .name-col{box-shadow:inset 3px 0 0 var(--crimson)}
tr.row-has-err .name-col .nm::before{content:"⚠ ";color:var(--crimson);font-size:.8rem}
.sgrid tr.totals td{
  background:linear-gradient(180deg,#F2E9CE,#EADDB4)!important;color:#14140e;border-top:2.5px solid var(--emerald-800);border-bottom:2px solid var(--gold-500);font-weight:800;padding:.6rem .35rem;
  border-bottom:none;font-size:.86rem;
}
.sgrid tr.totals .name-col{color:#14140e}
.sgrid tr.trow td{background:#FBF4DE}
.sgrid tr.trow .name-col{background:#F6ECCB!important}
.sgrid tr.trow .name-col .nm::after{content:" (منقول)";color:var(--leave);font-size:.68rem}

/* لوحة أخطاء التاب */
.issues{margin-top:1rem;display:grid;gap:.5rem}
.issue{
  display:flex;align-items:center;gap:.6rem;border-radius:var(--r-md);padding:.7rem 1rem;font-size:.88rem;font-weight:600;
}
.issue.err{background:#A8232B14;color:var(--crimson);border:1.5px solid #A8232B66;border-inline-start:4px solid var(--crimson)}
.issue.warn{background:#B07A1218;color:#8a6310;border:1.5px solid #B07A1266;border-inline-start:4px solid #B07A12}
.issue.ok{background:#1F7E4E10;color:var(--emerald-800);border:1px solid #1F7E4E33}
.stats-head{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem;
}
.stats-title{font-family:var(--f-display);font-size:1.35rem;color:var(--emerald-900)}
.stats-title b{color:var(--gold-ink)}
.legend{display:flex;gap:1rem;font-size:.74rem;color:var(--ink-3);align-items:center;flex-wrap:wrap}
.legend i{display:inline-block;width:14px;height:14px;border-radius:4px;margin-inline-end:.3rem;vertical-align:-2px}
.legend .l-in i{background:#fff;border:1px solid var(--line-strong)}
.legend .l-calc i{background:#0E4D2C18}
.legend .l-pct i{background:#C9A22730}

/* ============ معالج التوزيع ============ */
.wiz .modal{width:min(640px,100%)}
.wiz-summary{
  display:flex;gap:1rem;background:#FBF4DE;border:1.5px solid var(--gold-400);
  border-radius:var(--r-md);padding:.9rem 1.1rem;margin-bottom:1.1rem;align-items:center;
}
.wiz-summary .big{font-family:var(--f-display);font-size:2rem;color:var(--emerald-900);line-height:1}
.wiz-summary .lbl{font-size:.82rem;color:var(--ink-2)}
.wiz-table{width:100%;border-collapse:collapse}
.wiz-table th{font-size:.78rem;color:var(--emerald-900);padding:.45rem;border-bottom:2px solid var(--line-strong);text-align:right}
.wiz-table td{padding:.4rem .45rem;border-bottom:1px solid var(--line)}
.wiz-in{width:88px;padding:.5rem;border:1.5px solid var(--line-strong);border-radius:var(--r-sm);text-align:center;font-weight:700}
.wiz-in:focus{outline:none;border-color:var(--gold-500)}
.wiz-meter{
  margin-top:1rem;border-radius:var(--r-md);padding:.8rem 1rem;font-weight:800;text-align:center;font-size:.95rem;
  border:1.5px solid;transition:.2s;
}
.wiz-meter.bad{background:#A8232B0d;color:var(--crimson);border-color:#A8232B44}
.wiz-meter.good{background:#1F7E4E12;color:var(--emerald-800);border-color:#1F7E4E55}
.wiz-keep{
  margin-top:1rem;background:#0E4D2C08;border:1px dashed var(--line-strong);border-radius:var(--r-md);
  padding:.8rem 1rem;font-size:.82rem;color:var(--ink-2);line-height:1.7;
}

/* ============ نظام منع الأخطاء — طبقة العرض ============ */
.issue .iznum{
  min-width:24px;height:24px;border-radius:50%;display:inline-grid;place-items:center;
  background:var(--crimson);color:#fff;font-size:.78rem;font-weight:800;flex-shrink:0;
}
.issue.warn .iznum{background:#B07A12}
.issue.clickable{cursor:pointer;transition:.15s}
.issue.clickable:hover{transform:translateX(-3px);box-shadow:var(--shadow-sm)}
@keyframes errShake{0%,100%{transform:translateX(0)}20%{transform:translateX(-7px)}40%{transform:translateX(7px)}60%{transform:translateX(-5px)}80%{transform:translateX(5px)}}
.shake{animation:errShake .45s ease-in-out}
@keyframes cellFlash{0%,100%{box-shadow:inset 0 0 0 2.5px var(--crimson);background:#A8232B22}25%,75%{box-shadow:inset 0 0 0 4px var(--crimson);background:#A8232B55}}
.cell-flash{animation:cellFlash .7s ease-in-out 3}
.gate-modal .modal{border-top-color:var(--crimson)}
.gate-list{display:grid;gap:.55rem;max-height:46vh;overflow:auto}
.gate-head-icon{font-size:2.4rem;text-align:center;margin-bottom:.4rem}


/* تباين هادئ بين قسمي الجدول + تمييز «منها متغيرات» */
.sgrid td.sec-prev{background:#FBF7EA}
.sgrid td.sec-cur{background:#F1F7F1}
.sgrid tr:nth-child(even) td.sec-prev{background:#F7F1DD}
.sgrid tr:nth-child(even) td.sec-cur{background:#EAF3EA}
.sgrid td.calc.sec-prev{background:#F0E6C8}
.sgrid td.calc.sec-cur{background:#DDEDDF}
/* (3.9.10) تعميق للتباين: كان 4.2:1 مع النص الفاتح ⟵ صار ~6:1 */
.sgrid th.sub-mut{background:#5d7a4f!important;font-size:.62rem!important;font-style:italic}
/* (3.9.17 — طلب شنودة) عمود «منها متغيرات مكانية» يأخذ زيبرا **من روح لون رأسه**
   الزيتوني (#5d7a4f): صف أفتح وصف أغمق من نفس الصبغة، بحدّ متقطع كما كان. */
.sgrid td.sub-mut{background:#EDF1E8!important;border-inline-start:2px dashed #9aa98c!important}
.sgrid tr:nth-child(even) td.sub-mut{background:#E2E9DA!important}
.sgrid td.sub-mut .cell-in{font-style:italic;color:#5d6e52;font-size:.8rem}
.sgrid tr:hover td.sec-prev,.sgrid tr:hover td.sec-cur{filter:brightness(.97)}
.sgrid td.err-cell{background:#A8232B14!important}


/* عمود الملاحظات */
.sgrid td.note-td{background:#FCFAF2;min-width:210px;max-width:280px;vertical-align:top}
.note-in{
  width:100%;border:none;resize:none;overflow:hidden;background:transparent;
  padding:.5rem .6rem;font-family:var(--f-ui);font-size:.82rem;line-height:1.55;
  text-align:right;color:var(--ink);display:block;
}
.note-in:focus{outline:2px solid var(--gold-500);outline-offset:-2px;background:#C9A2270d}
.note-in::placeholder{color:var(--line-strong)}


/* تمييز هادئ: المنتهي (ذهبي رقيق) والمتبقي (أعمق أخضر القسم) */
.sgrid td.hl-muntahi{background:#F7EDCF!important;border-inline:1.5px solid #DCBE6266}
.sgrid tr:nth-child(even) td.hl-muntahi{background:#F2E6BE!important}
.sgrid td.hl-muntahi .cell-in{font-weight:800;color:#7A5E0E;font-size:1.02rem}
.sgrid td.calc.hl-remain{background:#CFE5D4!important;color:#0B3A26;font-size:1rem;
  border-inline-end:2.5px solid var(--emerald-700)!important}
.sgrid tr:nth-child(even) td.calc.hl-remain{background:#C2DCC9!important}
.sgrid th.sub2-muntahi{background:#8a6f1d!important}


/* مربعا الضبط أعلى الإحصائية — بطاقات فاخرة */
.ctrl-cards{display:flex;gap:.9rem;flex-wrap:wrap;flex:1;justify-content:flex-start}
.ctrl-card{
  position:relative;flex:0 1 330px;min-width:260px;max-width:360px;
  border-radius:var(--r-md);padding:.7rem 1.05rem .6rem;
  background:linear-gradient(150deg,var(--emerald-950),var(--emerald-800) 80%,#14603A);
  border:1px solid #ffffff1f;box-shadow:var(--shadow-md), inset 0 1px 0 #ffffff14;
  overflow:hidden;
}
.ctrl-card::before{ /* خيط ذهبي علوي */
  content:"";position:absolute;top:0;inset-inline:0;height:3px;
  background:linear-gradient(90deg,transparent,var(--gold-500) 20%,var(--gold-300) 50%,var(--gold-500) 80%,transparent);
}
.ctrl-card::after{ /* زخرفة زاوية خافتة */
  content:"⚖";position:absolute;bottom:-12px;inset-inline-start:-6px;font-size:3.4rem;
  color:#C9A22714;pointer-events:none;
}
.ctrl-card label{display:block;font-size:.74rem;font-weight:800;color:var(--gold-300);margin-bottom:.3rem;letter-spacing:.3px}
.ctrl-card label small{display:block;font-weight:300;color:#BFD9C9;font-size:.63rem;margin-top:.1rem}
.ctrl-card input{
  width:100%;border:none;background:transparent;font-family:var(--f-display);
  font-size:1.7rem;font-weight:700;color:#fff;text-align:center;line-height:1.4;
  text-shadow:0 1px 6px rgba(0,0,0,.35);
}
.ctrl-card input::placeholder{color:#ffffff3d;font-size:1rem;font-family:var(--f-ui)}
.ctrl-card input:focus{outline:none}
.ctrl-card:focus-within{box-shadow:var(--shadow-md),0 0 0 3px #C9A22744, inset 0 1px 0 #ffffff14}
.ctrl-card.locked{filter:saturate(.75)}
.ctrl-card.locked::before{background:linear-gradient(90deg,transparent,#8a8a8a 50%,transparent)}
.ctrl-card.locked input{color:#D9E6DD}
.ctrl-card .lockic{position:absolute;top:.55rem;inset-inline-end:.65rem;font-size:.85rem;opacity:.85}


/* إخفاء أسهم الرقم في بطاقتي الضبط + ترتيب رأس الإحصائية */
.ctrl-card input::-webkit-outer-spin-button,.ctrl-card input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.ctrl-card input[type=number]{-moz-appearance:textfield}
.stats-head{align-items:flex-start}
.stats-head .stats-title{flex:0 0 100%;margin-bottom:.2rem}
.stats-head .legend{margin-inline-start:auto;align-self:flex-end}
@media (max-width:760px){.ctrl-card{flex:1 1 100%;max-width:none}}

/* مربعات التاريخ الثلاثة (يوم/شهر/سنة) من اليمين لليسار */
.date3{display:flex;align-items:center;gap:.4rem}
.date3 .f-input{text-align:center;padding-inline:.4rem;-moz-appearance:textfield}
.date3 .f-input::-webkit-outer-spin-button,.date3 .f-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.date3 .db-d,.date3 .db-m{flex:0 0 4.2rem}
.date3 .db-y{flex:0 0 5.6rem}
.date3 .db-sep{color:var(--ink-3);font-weight:700}
.dt-cell{unicode-bidi:isolate;direction:ltr;display:inline-block}

/* خانات الصف المنقول المجمّدة */
.sgrid td.locked-cell{background:#F4F1E8;color:var(--ink-3);font-weight:600;text-align:center;cursor:not-allowed}
.sgrid .trow .name-col .lock-note{font-size:.62rem;color:var(--gold-ink);margin-top:.25rem;line-height:1.3}

.file-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;opacity:0}
label.start-card{cursor:pointer}

/* ====== الرقم القومي والنوع (v0.17.0) ====== */
.nid-td { white-space: nowrap; }
.nid-num { font-family: ui-monospace, 'Cascadia Mono', Consolas, monospace; font-size: .82rem; letter-spacing: .05em; color: var(--ink-2); }
.nid-g { font-size: .7rem; color: var(--ink-3); margin-top: .12rem; }
.nid-missing { font-size: .76rem; color: #b3261e; font-weight: 600; }

/* شارة الموقف بجوار الاسم في جدول الإحصائية (v0.17.2) */
.st-badge { display:inline-block; margin-top:.25rem; padding:.12rem .5rem; border-radius:.45rem; font-size:.66rem; font-weight:700; border:1px solid; }
.st-badge .st-date { font-weight:400; font-size:.92em; opacity:.85; display:block; }
.st-badge.st-trans { color:#a32626; border-color:#d8a5a5; background:#fbeeee; }
.st-badge.st-leave { color:#7E6418; border-color:#dcc98b; background:#faf4e2; }
.st-badge.st-sec   { color:#1d4f7c; border-color:#a9c4dc; background:#edf4fa; }
.st-badge.st-part  { color:#0b5e4e; border-color:#9cc9bf; background:#e9f5f2; }

/* صف المنقولين قبل بداية العام (مجمّع) */
.pretrans-row{background:linear-gradient(0deg,#FBF4DE55,#FBF4DE55)}
.pretrans-row .mname{color:var(--emerald-900);font-weight:700}
.pretrans-badge{display:inline-block;background:var(--gold-500);color:var(--ink-on-gold);font-size:.7rem;font-weight:700;
  padding:.12rem .5rem;border-radius:.5rem;margin-inline-end:.4rem;vertical-align:middle}

/* الموبايل: أرقام شبكة الإحصائية تبقى واضحة (لا تصغر) — حجم الخط فقط دون تغيير أبعاد الخلية */
@media (max-width:600px){
  .cell-in{font-size:1rem}
  td.calc{font-size:1rem}
  .sgrid th,.sgrid td{font-size:.86rem}
}

/* عمود «مستخرج من الحفظ والتظلمات (خلال الشهر)» — لون مميّز (أزرق رمادي راقٍ) يميّزه عن كل الأعمدة */
.sgrid th.th-rec{background:#155E58!important;color:#DCEFEC!important;box-shadow:inset 0 -3px 0 #6FA8A2;font-size:.66rem!important}
.sgrid td.hl-recovered{background:#DCEDEA!important;border-inline:1.5px solid #6FA8A2}
.sgrid tr:nth-child(even) td.hl-recovered{background:#CFE6E2!important}
.sgrid td.hl-recovered .cell-in{font-weight:800;color:#155E58;font-size:1.02rem}
.toast.info{border-color:#5E9A93}

/* ============================================================
   لمسات بصرية خفيفة — الموجة الثالثة (شاشة فقط، إضافية، بلا مساس بالطباعة/المنطق)
   ============================================================ */
/* حلقة تركيز ذهبية واضحة للتنقل بالكيبورد */
button:focus-visible, .btn-primary:focus-visible, .btn-gold:focus-visible,
.btn-outline:focus-visible, .btn-ghost:focus-visible, .btn-danger-soft:focus-visible{
  outline: none; box-shadow: 0 0 0 3px #C9A22745;
}
/* رفعة خفيفة متّسقة للأزرار الثانوية (الرئيسية لها رفعتها أصلاً) */
@media (hover:hover){
  .btn-ghost{ transition: background-color .2s ease, transform .15s ease, box-shadow .2s ease; }
  .btn-ghost:hover{ transform: translateY(-1px); }
}
/* شريط تمرير أنعم وأرقّ بلون الهوية */
*::-webkit-scrollbar{ width:10px; height:10px; }
*::-webkit-scrollbar-thumb{ background:#C9A22755; border-radius:8px; border:2px solid transparent; background-clip:content-box; }
*::-webkit-scrollbar-thumb:hover{ background:#C9A22799; background-clip:content-box; }
*::-webkit-scrollbar-track{ background:transparent; }

/* بوب-أوفر إرشادي لعمود «مستخرج من الحفظ والتظلمات» — يظهر بجوار الخانة عند الضغط */
.rec-hint {
  position: fixed; z-index: 200; width: 290px; max-width: 86vw;
  background: #155E58; color: #E6F2F0; border: 1px solid #3E837C; border-radius: 12px;
  padding: .75rem .95rem; box-shadow: 0 14px 34px rgba(21,94,88,.38);
  animation: recHintIn .15s ease; pointer-events: none;
}
.rec-hint b { display: block; color: #fff; font-size: .9rem; margin-bottom: .35rem;
  padding-bottom: .3rem; border-bottom: 1px solid #3E837C; }
.rec-hint span { display: block; font-size: .84rem; line-height: 1.7; }
.rec-hint::after {
  content: ""; position: absolute; left: var(--arrow, 50%);
  transform: translateX(-50%) rotate(45deg);
  bottom: -6px; width: 12px; height: 12px; background: #155E58;
  border-right: 1px solid #3E837C; border-bottom: 1px solid #3E837C;
}
.rec-hint.below::after { bottom: auto; top: -6px;
  border-right: none; border-bottom: none; border-left: 1px solid #3E837C; border-top: 1px solid #3E837C; }
@keyframes recHintIn { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }

/* ويندو توزيع القضايا المُسترجَعة */
.dist-row .dist-count { width: 5rem; text-align: center; }
.dist-row .dist-mem { min-width: 12rem; }
.dist-row .dist-del { padding: .3rem .6rem; }
/* حقل تليفون مكتمل (١١ رقماً) — تأكيد بصري أخضر */
.f-input.phone-ok{border-color:var(--emerald-600);box-shadow:0 0 0 2px #1F7A4D22}

/* ===== (الموجة الرابعة — schema 7) مواقف العمل الموسّعة والتنبيهات بالفصحى ===== */
.st-arest { background: #eef7f1; color: #0d5c46; border-color: #9fd0ba; }
.st-ltype { font-size: .72rem; color: #6b5200; margin-top: .1rem; }
.st-alert { margin-top: .3rem; padding: .3rem .55rem; border-radius: 8px; font-size: .76rem; line-height: 1.55; }
.st-alert-block { background: #fdecec; border-right: 3px solid #c0392b; color: #7c1d12; }
.st-alert-warn { background: #fff8e6; border-right: 3px solid #b8860b; color: #6b5200; }
.tab-alert { display: inline-block; margin-inline-start: .35rem; color: #c0392b; animation: tabPulse 1.6s ease-in-out infinite; }
@keyframes tabPulse { 0%,100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.25); opacity: .75; } }
#f-eto-wrap, #f-ltype-wrap { display: none; }
#f-eto-wrap.on, #f-ltype-wrap.on { display: block; }
#f-ltype { width: 100%; padding: .45rem .6rem; border: 1.5px solid var(--line, #d8d0b8); border-radius: 10px; font-family: inherit; }
#f-lnote { width: 100%; padding: .45rem .6rem; border: 1.5px solid var(--line, #d8d0b8); border-radius: 10px; font-family: inherit; }

/* ===== (3.5.1) جولة تجميل خفيفة — لمسات ملموسة بالهوية، بلا مساس بالمنطق ===== */
/* ١) جدول الأعضاء: تظليل متناوب + توهج مرور — على مستوى الصف (الخلايا الملوّنة تنجو) */
.mtable tbody tr:hover { background: #f6ecca66; }

/* ٢) الأزرار: رفعة خفيفة موحّدة عند المرور (تكمّل حلقة التركيز الذهبية القائمة) */
button { transition: transform .1s ease, box-shadow .12s ease, background .12s ease; }
button:hover:not(:disabled) { transform: translateY(-1px); }
button:active:not(:disabled) { transform: translateY(0); }

/* ٣) التبويبات: التبويب النشط بخط ذهبي سفلي واضح */
.tab-btn { position: relative; }
.tab-btn.on::after { content: ''; position: absolute; bottom: -2px; right: 12%; left: 12%; height: 2.5px; background: var(--gold-500); border-radius: 2px; }

/* ٤) بطاقات الموقف: ظل ناعم عند المرور يميّز القابل للنقر */
.status-opt { transition: transform .1s ease, box-shadow .12s ease; }
.status-opt:hover { transform: translateY(-1px); box-shadow: var(--shadow-sm); }
.status-opt.sel { box-shadow: 0 0 0 2px var(--gold-500) inset, var(--shadow-sm); }

/* ٦) شريط تمرير بالهوية (يوحّد مع التفتيش) */
::-webkit-scrollbar { width: 9px; height: 9px; }
::-webkit-scrollbar-thumb { background: var(--line-strong); border-radius: 8px; border: 2px solid var(--ivory); }
::-webkit-scrollbar-thumb:hover { background: var(--gold-500); }
::-webkit-scrollbar-track { background: transparent; }

/* ٧) التوست: انزلاق دخول ناعم */
@keyframes toastIn { from { transform: translateY(10px); opacity: 0; } to { transform: none; opacity: 1; } }
.toast { animation: toastIn .18s ease; border-radius: var(--r-md); box-shadow: var(--shadow-md); }

/* ٨) صناديق التاريخ الثلاثية: تركيز أوضح */
.date3 .f-input:focus { border-color: var(--gold-500); box-shadow: 0 0 0 2px #C9A22733; }
/* (schema 8) خانة تليفون العضو */
#f-phone { width: 100%; padding: .45rem .6rem; border: 1.5px solid var(--line, #d8d0b8); border-radius: 10px; font-family: inherit; letter-spacing: .5px; }
#fr-phone.f-bad #f-phone { border-color: var(--crimson, #c0392b); }
/* (3.7.0) مجموعة عنوان النيابة بنافذة التصدير */
.ex-addr-group{border:1.5px solid var(--gold-500);border-radius:var(--r-md);padding:.7rem .9rem .4rem;margin:.6rem 0;background:#FBF7EA}
.ex-addr-title{font-weight:800;color:var(--emerald-900);margin-bottom:.4rem;border-right:3px solid var(--gold-500);padding-right:.5rem;font-size:.9rem}
/* (schema 9) عنوان العضو + مستنداته بنموذج العضو */
.m-addr-group,.m-docs-group{border:1.5px solid var(--gold-500);border-radius:var(--r-md);padding:.7rem .9rem .5rem;margin:.6rem 0;background:#FBF7EA}
.m-grp-title{font-weight:800;color:var(--emerald-900);margin-bottom:.45rem;border-right:3px solid var(--gold-500);padding-right:.5rem;font-size:.88rem}
.m-docs-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.doc-slot{border:1.5px dashed var(--line);border-radius:10px;padding:.5rem;background:#fff;text-align:center}
#fr-docs.f-bad .doc-slot{border-color:var(--crimson,#c0392b)}
.doc-slot-label{font-weight:700;font-size:.82rem;color:#333;margin-bottom:.35rem}
.doc-slot-body{min-height:7.5rem;display:flex;align-items:center;justify-content:center}
.doc-thumb{max-width:100%;max-height:9rem;border-radius:8px;border:1px solid var(--line)}
.doc-confirmed{color:#0d5c46;font-weight:700;font-size:.8rem;line-height:1.6}
.doc-missing{color:#a33;font-weight:700;font-size:.78rem}
.doc-empty{font-size:.8rem}
.doc-slot-actions{display:flex;gap:.4rem;justify-content:center;margin-top:.4rem}
.doc-btn{font-size:.76rem;padding:.3rem .6rem;cursor:pointer}
@media (max-width:640px){.m-docs-grid{grid-template-columns:1fr}}
/* (schema 9) مسئولا الاتصال — العمود والبانر */
.contact-td{white-space:nowrap;text-align:center}
.ct-badge{display:inline-block;font-size:.72rem;font-weight:800;border-radius:999px;padding:.18rem .6rem;white-space:nowrap}
.ct-main{background:linear-gradient(135deg,#F6EBC8,#F1DFA8);border:1.5px solid var(--gold-600,#B8860B);color:#5d4700;box-shadow:0 1px 4px rgba(184,134,11,.25)}
.ct-alt{background:#fff;border:1.5px dashed var(--gold-600,#B8860B);color:#5d4700}
.ct-clear{border:none;background:none;color:#a33;cursor:pointer;font-size:.7rem;margin-right:.2rem;padding:.1rem}
.ct-btns{display:flex;flex-direction:column;gap:.22rem;align-items:center}
.ct-set{font-size:.68rem;padding:.16rem .5rem;border-radius:8px;border:1px solid var(--emerald-700,#0d5c46);background:#fff;color:var(--emerald-900,#0a3d2e);cursor:pointer;transition:all .15s}
.ct-set:hover{background:var(--emerald-700,#0d5c46);color:#fff}
.ct-set-alt{border-style:dashed}
.ct-banner{border-radius:12px;padding:.6rem .9rem;margin:.5rem 0 .7rem;font-size:.86rem;border:1.5px solid}
.ct-warn{background:#fdf0ee;border-color:#c0392b;color:#7c1d12;animation:ctPulse 2.2s ease-in-out infinite}
.ct-ok{background:#eef7f0;border-color:var(--emerald-700,#0d5c46);color:#0a3d2e}
.ct-sep{margin:0 .5rem;color:var(--gold-ink)}
@keyframes ctPulse{0%,100%{box-shadow:0 0 0 0 rgba(192,57,43,.25)}50%{box-shadow:0 0 0 6px rgba(192,57,43,0)}}

/* (3.9.3) مجموعة عنوان العضو/النيابة: تملأ عرض النافذة بثلاثة أعمدة مرنة */
.m-addr-group .f-row, .ex-addr-group .f-row { width: 100%; }
.m-addr-group, .ex-addr-group { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: .6rem .8rem; align-items: start; }
.m-addr-group .m-grp-title, .ex-addr-group .ex-addr-title { grid-column: 1 / -1; }
.m-addr-group input, .m-addr-group select,
.ex-addr-group input, .ex-addr-group select { width: 100%; box-sizing: border-box; }
@media (max-width: 760px) { .m-addr-group, .ex-addr-group { grid-template-columns: 1fr; } }
.m-docs-hint{grid-column:1/-1;font-size:.78rem;color:#5d4700;background:#FFF9E8;border:1px dashed var(--gold-500);border-radius:8px;padding:.4rem .6rem;margin-bottom:.5rem;line-height:1.7}
.st-end{background:#F3EEF7;border-color:#7B5EA7;color:#4A3168}
.m-end-note{grid-column:1/-1;font-size:.82rem;color:#4A3168;background:#F7F3FB;border:1px solid #7B5EA7;border-radius:10px;padding:.5rem .8rem;margin:.5rem 0;line-height:1.7}

/* (3.9.15 — مراجعة الهوية البصرية لجدول الإحصائية) ثلاث لمسات لا تمسّ أي لون مميز:
   ① فاصل رأسي واضح يحدّ كل مجموعة (بداية «أعوام سابقة» و«عام حالي») فتُقرأ الكتل بلمحة.
   ② تمايز أعمدة الجسم بين المجموعتين مُعمَّق قليلاً (ظل صبغة لا لون جديد).
   ③ عمود الاسم يثبت بخلفية عاجية هادئة فلا يسبح مع التمرير الأفقي. */
.sgrid .grp-prev, .sgrid .grp-cur { border-inline-start: 3px solid var(--emerald-800) !important; }
.sgrid th.sec-start, .sgrid td.sec-start { border-inline-start: 3px solid var(--emerald-800) !important; }
.sgrid td.sec-prev { background: #FBF6E4; }
.sgrid tr:nth-child(even) td.sec-prev { background: #F6EFD8; }
.sgrid td.sec-cur { background: #EFF6EF; }
.sgrid tr:nth-child(even) td.sec-cur { background: #E6F0E7; }
.sgrid td.calc.sec-prev { background: #EFE3C2; }
.sgrid td.calc.sec-cur { background: #D9EBDC; }
/* (3.9.16) المجموعات المتبقية بهوية بصرية هادئة من نفس اللوحة:
   misc (استيفاء وارد/ارجاءات البت) رمادي-عاجي محايد · pct (النسب) ذهبي فاتح
   يربطها بعائلة المحسوبات · note (الملاحظات) أبيض نقي للكتابة الحرة. */
.sgrid td.sec-misc { background: #FAFAF6; }
.sgrid tr:nth-child(even) td.sec-misc { background: #F4F4EE; }
.sgrid td.sec-pct { background: #FBF4E0; }
.sgrid tr:nth-child(even) td.sec-pct { background: #F6EDD2; }
.sgrid td.sec-note { background: #FFFFFF; }
.sgrid td.mname, .sgrid th.name-col { background: #FDFBF4; }
.sgrid tr:nth-child(even) td.mname { background: #FAF6EA; }

/* (3.9.17) توحيد قاعدة الزيبرا للأعمدة المميزة: كل عمود صفّاه من صبغة رأسه —
   المنتهي ذهبي (رأسه #8a6f1d) · مستخرج تركواز (#155E58) · المتبقي أخضر (#0E4D2C)
   · متغيرات مكانية زيتوني (#5d7a4f). الفرق بين الصفين ~4٪ إضاءة: مريح لا صارخ. */
.sgrid td.hl-muntahi{background:#F7EDCF!important}
.sgrid tr:nth-child(even) td.hl-muntahi{background:#F0E4BB!important}
.sgrid td.hl-recovered{background:#DCEDEA!important}
.sgrid tr:nth-child(even) td.hl-recovered{background:#CBE3DF!important}
.sgrid td.calc.hl-remain{background:#CFE5D4!important}
.sgrid tr:nth-child(even) td.calc.hl-remain{background:#BFDAC7!important}

/* (3.9.18 — طلب شنودة) صف الإجمالي بإطار شيك: طوق ذهبي متصل حول الصف بأكمله
   (حدّ علوي أخضر سميك + سفلي ذهبي + طرفان ذهبيان بزوايا مستديرة عند أول/آخر خلية)
   وظل ناعم يرفعه عن الجدول، ورقم بارز بلون البرنامج — بلا مساس ألوان الأعمدة. */
.sgrid tr.totals { position: relative; }
.sgrid tr.totals td {
  background: linear-gradient(180deg, #F6EFD8, #EADDB4) !important;
  color: #14140e !important;
  border-top: 3px solid var(--emerald-800) !important;
  border-bottom: 3px solid var(--gold-500) !important;
  font-weight: 800; font-size: .9rem; padding: .62rem .35rem;
  box-shadow: 0 -6px 14px -12px rgba(7,41,27,.45) inset;
}
/* الطرفان: زوايا مستديرة وحدّ جانبي ذهبي فيكتمل الطوق */
.sgrid tr.totals td:first-child {
  border-inline-start: 3px solid var(--gold-500) !important;
  border-start-start-radius: 10px; border-end-start-radius: 10px;
}
.sgrid tr.totals td:last-child {
  border-inline-end: 3px solid var(--gold-500) !important;
  border-start-end-radius: 10px; border-end-end-radius: 10px;
}
.sgrid tr.totals .name-col {
  background: linear-gradient(180deg, #EFE3BE, #E3D3A0) !important;
  color: #4A3405 !important; font-family: var(--f-display); font-size: .98rem; letter-spacing: .02em;
}
/* الأرقام بلون البرنامج العميق فتُقرأ كخلاصة لا كصف عادي */
.sgrid tr.totals td:not(.name-col) { color: #0B3A26 !important; }
/* بالطباعة: الطوق يبقى بالحدود فقط (بلا تدرّجات) */
@media print {
  .sgrid tr.totals td { background: #F1F1F1 !important; color: #000 !important;
    border-top: 1.6pt solid #1f1f1f !important; border-bottom: 1.6pt solid #1f1f1f !important;
    box-shadow: none !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

/* ===== (4.1.0) قسم إقرار تعذُّر استيفاء بيانات العضو ===== */
/* لوحة ذهبية هادئة: إقرارٌ مسجَّل لا خطأ — فلا يُصرَخ به بالأحمر. */
.exc-box { background: #FBF6E6; border: 1px solid #E4D9B4; border-radius: .5rem; padding: .6rem .8rem; }
.exc-chk { display: flex; align-items: center; gap: .45rem; font-size: .9rem; color: #5A431A; cursor: pointer; }
.exc-chk input { width: 1.05rem; height: 1.05rem; accent-color: #8A6D1A; }
.exc-info { margin-top: .45rem; font-size: .78rem; color: #6b5f43; }
.exc-need { color: #8A2F2C; }

/* ===== (4.1.0) تحسينات جدول الإحصائية ===== */
/* ① الصفر يخفت على الشاشة فتنطّ القيم الحقيقية — الطباعة/PDF أسود على فاتح دائماً */
.sgrid td.zero-dim, .sgrid .cell-in.zero-dim { color: var(--ink-dim); }
#print-zone .zero-dim { color: #000 !important; }
@media print { .zero-dim { color: #000 !important; } }
/* ② خلية الملاحظات: المحتوى غير القابل للتحرير (الشرطة) يتوسط رأسياً بدل التعلّق أعلى */
.sgrid td.note-td { vertical-align: top; }
.sgrid td.note-td:not(:has(.note-in)) { vertical-align: middle; text-align: center; }
/* ③ تلميح معادلتَي النسبة على الرأسين */
.sgrid th.pct-h { cursor: help; }
.sgrid th.pct-h .pct-q { font-size: .62em; opacity: .55; margin-inline-start: .18em; vertical-align: super; }
#print-zone .pct-q { display: none !important; }

/* ===== تمييز الصف الذي يكتب فيه السكرتير الآن (أُضيف في إصدار 4.1.2) ===== */
/* الجدول فيه نحو خمسة وثلاثين عموداً متشابهة الأرقام، فلما ينتقل السكرتير بين
   الخانات يحتاج ما يدله على صفه. الحل: الصف الذي فيه خانة الكتابة الحالية يظهر
   حوله خيطان ذهبيان رفيعان (فوقه وتحته) وتصير خانة الاسم أدفأ لوناً قليلاً.
   واخترنا الخطوط الحدودية بدل تلوين الخلفية عمداً، حتى لا نغطي على ألوان
   الأعمدة المميزة (المنتهي والمستخرج والمتغيرات والمتبقي). يعمل على الشاشة
   فقط — الطباعة لا تتأثر. */
.sgrid tbody tr:focus-within td {
  box-shadow: inset 0 2px 0 0 #C9A227, inset 0 -2px 0 0 #C9A227;
}
.sgrid tbody tr:focus-within td.mname { background: #F6ECCB !important; }
.sgrid tbody tr:focus-within td.mname .nm { color: #4A3405; }
@media print { .sgrid tbody tr:focus-within td { box-shadow: none; } }
#print-zone .sgrid td { box-shadow: none !important; }

/* (4.11.3) شاشة التصدير: سطر التنبيه الدائم وزر إعادة إرسال صور البطاقات */
.export-warn { background: #fff8e6; border: 1px solid #e6c96b; border-radius: 8px; padding: .55rem .8rem; margin: .7rem 0 .4rem; color: #6b5200; font-size: .92rem; line-height: 1.7; }
.export-resend { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; margin: .35rem 0 1.1rem; }
/* (4.11.3) نتيجة الزر تُعرض داخل النافذة نفسها — كانت تذهب توستاً خلفها فلا تُرى */
.resend-msg { flex-basis: 100%; border-radius: 8px; padding: .5rem .7rem; font-size: .9rem; line-height: 1.75; }
.resend-msg.ok { background: #eaf5ee; border: 1px solid #bfe0cb; color: #14532d; }
.resend-msg.warn { background: #fdf3e4; border: 1px solid #eccf9a; color: #7a4b00; }
.resend-msg.err { background: #fbeaea; border: 1px solid #e8b7b7; color: #8a1f2b; }
.export-resend-hint { color: var(--ink-soft, #667); font-size: .82rem; }

/* (4.11.3) استيراد بيانات الأعضاء الشخصية — قسم الإعدادات */
.pi-box { border: 1px solid #e6d9a8; background: #fffdf6; border-radius: 10px; padding: .9rem 1rem; }
.pi-head { font-weight: 800; color: var(--emerald); margin-bottom: .4rem; }
.pi-note { font-size: .9rem; line-height: 1.85; color: var(--ink-2, #445); margin: 0 0 .7rem; }
.pi-row { display: flex; gap: .6rem; align-items: center; flex-wrap: wrap; }
.pi-pass { max-width: 14rem; }
.pi-hint { font-size: .82rem; color: var(--ink-3, #778); margin-top: .35rem; line-height: 1.7; }
.pi-msg { margin-top: .8rem; border-radius: 8px; padding: .55rem .75rem; font-size: .9rem; line-height: 1.85; }
.pi-msg.ok { background: #eaf5ee; border: 1px solid #bfe0cb; color: #14532d; }
.pi-msg.warn { background: #fdf3e4; border: 1px solid #eccf9a; color: #7a4b00; }
.pi-msg.err { background: #fbeaea; border: 1px solid #e8b7b7; color: #8a1f2b; }

/* (4.11.3) زر استيراد البيانات الشخصية — يفتح لوحته ويغلقها */
.pi-toggle { display: flex; align-items: center; justify-content: space-between; gap: .8rem; width: 100%; text-align: right; font-weight: 700; }
.pi-toggle .pi-caret { color: var(--gold, #8a6d1f); font-size: .9em; flex: none; }
.pi-toggle[aria-expanded="true"] { border-color: var(--emerald, #0f5132); color: var(--emerald, #0f5132); }
.pi-box { margin-top: .6rem; }

/* (4.11.4) خانة «اجمالي الأعوام السابقة» للعضو حين تعرض الفعّال (عنده مستخرج من منتهي العام السابق):
   مقفولة بلون عمود المستخرج — تقول بالعين إن الزيادة جاءت من هناك */
.sgrid td.eff-total{box-shadow:inset 0 -3px 0 #6FA8A2}
.sgrid td.eff-total .cell-in{color:#155E58;font-weight:800;background:#DCEDEA;cursor:help}

/* ===== النسخة التجريبية: الشريط، وزر مجلد الحفظ، وتاب الجدول الرقمي ===== */
.test-ribbon{position:sticky;top:0;z-index:900;display:block;width:100%;text-align:center;background:var(--gold-500);color:var(--ink-on-gold);font-weight:800;font-size:.8rem;line-height:1.5;padding:3px 12px;box-shadow:0 2px 8px rgba(0,0,0,.18);pointer-events:none}
.work-chip{border:1px solid #C9A227;background:#C9A22722;color:#F3D88A;border-radius:99px;padding:.25rem .8rem;font-weight:700;font-size:.8rem;cursor:pointer;white-space:nowrap}
.work-chip[data-st="ok"]{border-color:#5CC08A;background:#5CC08A22;color:#CDEBD8}
.work-chip[data-st="bad"]{border-color:#C84048;background:#C8404822;color:#F4B7BB;cursor:default}
#pane-register{padding:0}
.upl-opt{display:block;width:100%;text-align:right;padding:1rem;margin-bottom:.6rem}
.upl-opt small{display:block;font-weight:400;opacity:.85;margin-top:.25rem}
