@font-face{font-family:'Amiri';font-weight:400;src:url('../assets/fonts/amiri-arabic-400-normal.woff2') format('woff2');font-display:swap}
@font-face{font-family:'Amiri';font-weight:700;src:url('../assets/fonts/amiri-arabic-700-normal.woff2') format('woff2');font-display:swap}
@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{
  --emerald-950:#07291B; --emerald-900:#0B3A26; --emerald-800:#0E4D2C;
  --emerald-700:#176A40; --emerald-600:#1F7E4E;
  --gold-300:#EBD58F; --gold-400:#DCBE62; --gold-500:#C9A227; --gold-600:#A8841B;
  --crimson:#A8232B; --crimson-soft:#C8404833;
  --ivory:#FAF6EC; --ivory-2:#F3EDDD; --paper:#FFFDF6;
  --ink:#1C2A22; --ink-2:#41534A; --ink-3:#73837B;
  --line:#E2D9C2; --line-strong:#CFC2A0;
  --ok:#1F7E4E; --warn:#B07A12; --err:#A8232B;
  --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 .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(--emerald-950)}
.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 */
.toast-wrap{position:fixed;bottom:1.2rem;inset-inline-start:50%;transform:translateX(50%);z-index:99;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(--emerald-950);
  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:var(--emerald-900);color:var(--gold-300);font-size:.85rem;font-weight:700;
  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:#9B6A0F1a;color:#9B6A0F}
.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)}
.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}
}
@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:var(--emerald-950);color:var(--gold-300);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)}
.sgrid .grp-prev{box-shadow:inset 0 -3px 0 var(--gold-500)}
.sgrid .grp-cur{box-shadow:inset 0 -3px 0 #7FB89A}
.sgrid td{padding:0;background:#fff}
.sgrid .sec-row td{position:sticky;inset-inline-start:0;background:var(--emerald-800);color:var(--gold-300);font-weight:800;text-align:center;padding:.4rem;letter-spacing:.5px}
.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:var(--emerald-950)!important;color:var(--gold-300);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:var(--emerald-950)!important;color:var(--gold-300);font-weight:800;padding:.6rem .35rem;
  border-bottom:none;font-size:.86rem;
}
.sgrid tr.totals .name-col{color:var(--gold-300)}
.sgrid tr.trow td{background:#FBF4DE}
.sgrid tr.trow .name-col{background:#F6ECCB!important}
.sgrid tr.trow .name-col .nm::after{content:" (منقول)";color:#9B6A0F;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-600)}
.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}
.sgrid th.sub-mut{background:#5d7a4f!important;font-size:.62rem!important;font-style:italic}
.sgrid td.sub-mut{border-inline-start:2px dashed #9aa98c!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.15;
  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(--ink3);font-weight:700}
.dt-cell{unicode-bidi:isolate;direction:ltr;display:inline-block}

/* خانات الصف المنقول المجمّدة */
.sgrid td.locked-cell{background:#F4F1E8;color:var(--ink3);font-weight:600;text-align:center;cursor:not-allowed}
.sgrid .trow .name-col .lock-note{font-size:.62rem;color:var(--gold-600);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:#8a6d1a; 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:#fff;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}
}
