
:root{
  /* الأساسي */
  --forest:#15503B;        /* الأخضر الداكن — العناوين والأزرار الأساسية */
  --forest-deep:#0E3B2B;   /* حالة الضغط */
  --sage:#4E7F68;          /* الأخضر الهادئ — مساند */
  --sage-tint:#E8F0EA;     /* تظليل خفيف أخضر */

  /* المساندة */
  --gold:#C4A661;          /* ذهبي فاتح — لمسات فقط */
  --beige:#F2EADA;         /* بيج هادئ — الأزرار الثانوية */
  --beige-deep:#E8DCC4;    /* بيج عند التمرير */
  --clay:#C98E80;          /* وردي ترابي فاتح */
  --clay-tint:#F7EBE7;

  /* الأسطح والنص */
  --cream:#FAF6EE;         /* الخلفية العاجية الدافئة */
  --paper:#FFFFFF;
  --ivory:#FFFDF8;         /* سطح عاجي للحقول والبطاقات الداخلية */
  --ink:#1F2E27;           /* نص أساسي بميل أخضر — تباين عالٍ */
  --muted:#606E66;         /* نص ثانوي — يحقق 4.5:1 على الأبيض */
  --sand:#E2DCCB;          /* حدود */

  /* أسماء متوافقة مع النسخة السابقة حتى لا يتغير أي سيلكتور */
  --coral:#15503B; --rose:#15503B; --mint:#2E6B52;

  --shadow:0 1px 2px rgba(31,46,39,.04), 0 6px 18px rgba(21,80,59,.05);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--cream); color:var(--ink);
  font-family:"Tajawal","Sakkal Majalla","Dubai",Tahoma,sans-serif;
  font-size:16px; line-height:1.8;
}
h1,h2,h3,.display{font-family:"Cairo","Sakkal Majalla",Tahoma,sans-serif;font-weight:800;letter-spacing:0}
a{color:var(--rose)}

/* ---------- top bar ---------- */
.topbar{
  position:sticky; top:0; z-index:40; background:rgba(252,248,245,.92);
  backdrop-filter:blur(8px); border-bottom:1px solid var(--sand);
}
.topbar-in{max-width:1180px;margin:0 auto;padding:10px 18px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;margin-inline-end:auto}
.mark{width:34px;height:34px;border-radius:11px;background:linear-gradient(140deg,var(--sage),var(--forest));
  display:grid;place-items:center;color:#fff;font-family:"Cairo";font-weight:800;font-size:18px}
.brand b{display:block;font-family:"Cairo";font-size:15px;line-height:1.2}
.brand span{font-size:12px;color:var(--muted)}
.btn{
  border:1px solid var(--beige-deep); background:var(--beige); color:var(--forest);
  padding:7px 14px; border-radius:10px; font-family:"Tajawal"; font-size:14px; font-weight:500;
  cursor:pointer; transition:.15s;
}
.btn:hover{border-color:var(--gold); background:var(--beige-deep); color:var(--forest-deep)}
.btn.primary{background:var(--forest);color:#fff;border-color:var(--forest)}
.btn.primary:hover{background:var(--forest-deep);border-color:var(--forest-deep);color:#fff}
.btn:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--sage);outline-offset:2px}
.saved{font-size:12.5px;color:var(--sage);min-width:96px}

/* ---------- layout ---------- */
.wrap>*{min-width:0}
section.card{overflow:hidden}
html,body{overflow-x:hidden}
.wrap{max-width:1180px;margin:0 auto;padding:22px 18px 80px;display:grid;grid-template-columns:250px 1fr;gap:26px;align-items:start}
nav.rail{position:sticky;top:70px;background:var(--paper);border:1px solid var(--sand);border-radius:16px;padding:14px;box-shadow:var(--shadow);max-height:calc(100vh - 100px);overflow:auto}
.rail h4{margin:0 0 10px;font-family:"Cairo";font-size:13px;color:var(--forest);font-weight:600}
.rail a{display:flex;gap:9px;align-items:center;padding:6px 8px;border-radius:9px;text-decoration:none;color:var(--ink);font-size:14px}
.rail a:hover{background:var(--sage-tint)}
.rail a.active{background:var(--sage-tint);color:var(--forest);font-weight:700}
.rail .num{font-family:"Cairo";font-size:11.5px;color:var(--muted);min-width:20px}
.dot{width:7px;height:7px;border-radius:50%;background:var(--sand);margin-inline-start:auto;flex:none}
.dot.part{background:var(--gold)}.dot.full{background:var(--sage)}

/* ---------- progress ring ---------- */
.meter{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid var(--sand);border-radius:14px;background:linear-gradient(180deg,#fff,var(--ivory));margin-bottom:14px}
.ring{--p:0;width:52px;height:52px;border-radius:50%;flex:none;
  background:conic-gradient(var(--forest) calc(var(--p)*1%), var(--sage-tint) 0);
  display:grid;place-items:center}
.ring i{width:40px;height:40px;background:#fff;border-radius:50%;display:grid;place-items:center;font-style:normal;font-family:"Cairo";font-size:13px;font-weight:800;color:var(--forest)}
.meter b{font-family:"Cairo";font-size:13.5px;display:block;color:var(--forest)}
.meter span{font-size:12.5px;color:var(--muted)}

/* ---------- cards ---------- */
section.card{position:relative;background:var(--paper);border:1px solid var(--sand);border-radius:18px;padding:22px 22px 24px;margin-bottom:20px;box-shadow:var(--shadow);scroll-margin-top:80px;overflow:hidden}
section.card::before{content:"";position:absolute;inset-block-start:0;inset-inline:0;height:3px;
  background:linear-gradient(90deg,var(--forest),var(--sage) 55%,var(--gold));opacity:.9}
.eyebrow{font-family:"Cairo";font-size:12px;color:var(--sage);font-weight:700;letter-spacing:.04em}
section.card h2{margin:2px 0 6px;font-size:22px;color:var(--forest)}
.intro{color:var(--muted);font-size:14.5px;margin:0 0 16px}
.body p{margin:0 0 12px}

/* cover */
.cover{background:linear-gradient(152deg,#E7F0E9 0%,#F7F2E6 54%,#F5E8E1 100%);border:1px solid #DED5C3;border-radius:22px;padding:34px}
.cover .kicker{font-family:"Cairo";font-size:13px;color:var(--sage);font-weight:700}
.cover h1{font-size:34px;margin:8px 0 6px;line-height:1.35;color:var(--forest)}
.cover .sub{color:var(--muted);font-size:15px;margin-bottom:22px}
.cover .edition{display:inline-block;background:#fff;border:1px solid var(--gold);color:var(--forest);border-radius:999px;padding:4px 14px;font-size:12.5px;font-family:"Cairo";font-weight:700}

/* fields */
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.field label{display:block;font-size:13px;color:var(--muted);margin-bottom:4px;font-weight:500}
input.f,textarea.f{
  width:100%;border:1px solid var(--sand);background:var(--ivory);border-radius:10px;padding:9px 11px;
  font-family:inherit;font-size:15px;color:var(--ink);transition:.15s
}
input.f:focus,textarea.f:focus{border-color:var(--sage);background:#fff}
textarea.f{min-height:92px;resize:vertical;line-height:1.9}
.hint{font-size:12.5px;color:var(--muted);margin-top:4px}
.kvgroup{margin-bottom:18px}
.kvgroup h3{font-size:15px;margin:0 0 10px;color:var(--forest)}

/* tables */
.tablewrap{overflow-x:auto;border:1px solid var(--sand);border-radius:14px}
table{border-collapse:collapse;width:100%;min-width:640px}
th{background:var(--sage-tint);color:var(--forest);font-family:"Cairo";font-size:13px;font-weight:700;padding:10px 8px;text-align:right;border-bottom:1px solid var(--sand);white-space:nowrap}
td{border-bottom:1px solid #EFE9DC;padding:0;vertical-align:middle}
tr:last-child td{border-bottom:0}
td input{width:100%;border:0;background:transparent;padding:9px 8px;font-family:inherit;font-size:14.5px;color:var(--ink)}
td input:focus{background:var(--sage-tint);outline:0}
select.cellsel{width:100%;border:0;background:transparent;padding:8px 6px;font-family:inherit;font-size:14.5px;color:var(--ink)}
select.cellsel:focus{background:var(--sage-tint);outline:0}
td.calc{background:var(--sage-tint);text-align:center;font-family:"Cairo";font-weight:700;font-size:14px;color:var(--forest);padding:9px 6px}
td.calc.warn{color:#9A4A38;background:var(--clay-tint)}
td.rownum{width:38px;text-align:center;color:var(--muted);font-size:13px}
td.del{width:34px;text-align:center}
.delbtn{border:0;background:transparent;color:#AFB8B2;cursor:pointer;font-size:16px;line-height:1;padding:4px 6px;border-radius:6px}
.delbtn:hover{color:#9A4A38;background:var(--clay-tint)}
.tblfoot{display:flex;gap:10px;align-items:center;margin-top:10px}

/* checklist */
.check{display:grid;grid-template-columns:26px 1fr 240px;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid #EFE9DC}
.check:last-child{border-bottom:0}
.check input[type=checkbox]{width:18px;height:18px;accent-color:var(--forest)}
.check .task{font-size:15px}
.check input.f{padding:6px 9px;font-size:14px}

/* followup */
.fu{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fu .box{border:1px solid var(--sand);border-radius:14px;padding:14px;background:var(--ivory)}
.fu h3{margin:0 0 8px;font-size:15px;color:var(--forest)}
.sig{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}

footer.pagefoot{text-align:center;color:var(--muted);font-size:13px;padding:10px 0 0}
.slogan{font-family:"Cairo";color:var(--forest);font-weight:700}

@media (max-width:900px){
  .wrap{grid-template-columns:1fr;padding:16px 12px 60px}
  .topbar-in{gap:8px;padding:8px 12px}
  .btn{padding:6px 10px;font-size:13px}
  .brand span{display:none}
  section.card{padding:16px 14px 18px}
  .cover{padding:22px 18px}
  .cover h1{font-size:25px}
  nav.rail{position:static;max-height:none;order:-1}
  .grid2,.grid3,.fu{grid-template-columns:1fr}
  .check{grid-template-columns:24px 1fr;}
  .check input.f{grid-column:2}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}


/* ---------- المحتوى الوزاري ---------- */
.stagebar{display:flex;gap:10px;align-items:center;margin-bottom:14px;flex-wrap:wrap}
.stagebar label{font-size:13.5px;color:var(--muted)}
select.f{width:auto;min-width:190px;border:1px solid var(--sand);background:var(--ivory);border-radius:10px;
  padding:8px 11px;font-family:inherit;font-size:15px;color:var(--ink)}
.gblock{border:1px solid var(--sand);border-radius:14px;padding:14px;margin-bottom:12px;background:var(--ivory)}
.gblock h4{margin:0 0 10px;font-family:"Cairo";font-size:14px;color:var(--forest)}
.gcols{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.gcols h5{margin:0 0 6px;font-size:12.5px;color:var(--muted);font-weight:600}
.chk{display:flex;gap:8px;align-items:flex-start;padding:3px 0;font-size:14.5px;cursor:pointer}
.chk input{width:17px;height:17px;accent-color:var(--forest);margin-top:3px;flex:none}
.emptyhint{color:var(--muted);font-size:14px;padding:8px 0}
@media (max-width:900px){.gcols{grid-template-columns:1fr}}

/* ---------- الشواهد ---------- */
.ev{margin-top:16px;border-top:1px dashed var(--sand);padding-top:12px}
.ev-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.ev-head b{font-family:"Cairo";font-size:13.5px;color:var(--forest)}
.ev-head .hint{margin:0;margin-inline-end:auto}
.evcard{border:1px solid var(--sand);border-radius:12px;padding:12px;margin-bottom:10px;background:var(--ivory)}
.evrow{display:grid;grid-template-columns:1fr 1.4fr;gap:10px}
.evtools{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;align-items:center}
.evtools .btn{padding:5px 11px;font-size:13px}
.evprev{display:flex;gap:14px;align-items:flex-start;margin-top:10px;flex-wrap:wrap}
.evqr{background:#fff;border:1px solid var(--sand);border-radius:10px;padding:6px;line-height:0}
.evqr figcaption{font-size:10.5px;color:var(--muted);text-align:center;line-height:1.4;padding-top:4px;max-width:150px;word-break:break-all}
.evimg{max-height:140px;border-radius:10px;border:1px solid var(--sand)}
.evlink{font-size:12.5px;color:var(--sage);word-break:break-all}
@media (max-width:900px){.evrow{grid-template-columns:1fr}}

/* ---------- جداول القراءة الطويلة (1.1.2) ---------- */
table.tbl-wrap{table-layout:fixed;min-width:0}
table.tbl-wrap th{white-space:normal;line-height:1.45;vertical-align:bottom}
table.tbl-wrap th.th-num{text-align:center;padding-inline:4px}
table.tbl-wrap td{vertical-align:top}
table.tbl-wrap td.rownum{padding-top:11px}
table.tbl-wrap td.wrapcell{padding:0}
table.tbl-wrap td.wrapcell{padding:4px 3px}
textarea.cell-ta{display:block;width:100%;min-height:40px;border:1px solid var(--sand);background:var(--ivory);border-radius:10px;resize:none;overflow:hidden;
  padding:8px 10px;margin:0;font-family:inherit;font-size:14.5px;line-height:1.6;color:var(--ink);white-space:pre-wrap;word-break:break-word;box-sizing:border-box}
textarea.cell-ta:focus{border-color:var(--sage);background:#fff;outline:0}
table.tbl-wrap .pv{display:none}
table.tbl-wrap td.numcell{text-align:center}
table.tbl-wrap td.numcell{padding:4px 3px}
input.cell-num{width:100%;border:1px solid var(--sand);background:var(--ivory);border-radius:10px;padding:8px 2px;margin:0;font-family:inherit;font-size:15px;
  font-weight:600;color:var(--ink);text-align:center;font-variant-numeric:tabular-nums;box-sizing:border-box;min-height:40px}
input.cell-num:focus{border-color:var(--sage);background:#fff;outline:0}
table.tbl-wrap select.cellsel{padding-top:9px;padding-bottom:9px}
@media (max-width:900px){
  table.tbl-wrap{min-width:0}
  table.tbl-wrap col:nth-child(3){width:34%!important}
  table.tbl-wrap col:nth-child(4){width:88px!important}
  table.tbl-wrap col:nth-child(5){width:54px!important}
}

/* ---------- الجوال (≤ 600px): كل صف بطاقة رأسية — الشاشة فقط، لا الطباعة ---------- */
@media screen and (max-width:600px){
  .tablewrap.tw-cards{overflow:visible;border:0;border-radius:0}
  table.tbl-wrap{display:block;min-width:0;width:100%}
  table.tbl-wrap colgroup,table.tbl-wrap thead{display:none}
  table.tbl-wrap tbody{display:block}
  table.tbl-wrap tr{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"num del" "c1 c1" "c2 c2" "c3 c4";gap:8px 10px;
    border:1px solid var(--sand);border-radius:12px;padding:10px 12px 12px;margin-bottom:10px;background:#fff}
  table.tbl-wrap td{display:block;border:0;padding:0;width:auto;min-width:0}
  table.tbl-wrap td::before{content:attr(data-label);display:block;font-family:"Cairo";font-size:12px;font-weight:700;color:var(--sage);margin-bottom:4px}
  table.tbl-wrap td.rownum{grid-area:num;padding:0;font-family:"Cairo";font-weight:700;color:var(--forest);font-size:14px}
  table.tbl-wrap td.rownum::before{content:"الصف ";display:inline;color:var(--muted);font-weight:500}
  table.tbl-wrap td.del{grid-area:del;justify-self:end;width:auto}
  table.tbl-wrap td.del::before{display:none}
  table.tbl-wrap td:nth-child(2){grid-area:c1}
  table.tbl-wrap td:nth-child(3){grid-area:c2}
  table.tbl-wrap td:nth-child(4){grid-area:c3}
  table.tbl-wrap td:nth-child(5){grid-area:c4}
  table.tbl-wrap td.numcell{text-align:right}
  table.tbl-wrap select.cellsel{width:100%;box-sizing:border-box;border:1px solid var(--sand);background:var(--ivory);border-radius:10px;min-height:40px;padding:8px 10px}
  textarea.cell-ta{font-size:15px}
  input.cell-num{text-align:center}
}

/* ---------- print ---------- */
@media print{
  @page{size:A4 portrait;margin:12mm 10mm}
  body{background:#fff;font-size:12px}
  .topbar,nav.rail,.meter,.tblfoot,.delbtn,td.del,.noprint{display:none!important}
  .wrap{display:block;max-width:none;padding:0}
  section.card{border:0;box-shadow:none;padding:0;margin:0 0 14px;break-inside:auto;page-break-after:always;overflow:visible}
  section.card::before{display:none}
  section.card:last-child{page-break-after:auto}
  section.card h2{font-size:17px;border-bottom:2px solid var(--forest);padding-bottom:4px}
  .cover{min-height:250mm;display:flex;flex-direction:column;justify-content:center}
  table{min-width:0;font-size:11px}
  th{padding:6px 4px;font-size:11px}
  td input{font-size:11px;padding:6px 4px}
  input.f,textarea.f{border:0;border-bottom:1px solid #bbb;border-radius:0;background:transparent}
  textarea.f{min-height:70px}
  tr,td,th{break-inside:avoid}
  /* جداول القراءة الطويلة: النص كاملًا ملتفًا، بلا حقول ولا تمرير ولا أزرار */
  .tablewrap{overflow:visible;border-radius:0}
  table.tbl-wrap{table-layout:fixed;width:100%;min-width:0}
  table.tbl-wrap col:nth-child(6){width:0!important}
  table.tbl-wrap textarea.cell-ta{display:none!important}
  table.tbl-wrap .pv{display:block!important;padding:6px 6px;font-size:11.5px;line-height:1.55;white-space:pre-wrap;word-break:break-word;overflow:visible}
  table.tbl-wrap td.wrapcell{vertical-align:top}
  table.tbl-wrap td.wrapcell,table.tbl-wrap td.numcell{padding:0}
  table.tbl-wrap input.cell-num{border:0;background:transparent;border-radius:0;min-height:0;padding:6px 2px;font-size:12px;text-align:center}
  table.tbl-wrap td.rownum{padding-top:7px}
  table.tbl-wrap select.cellsel{border:0;appearance:none;-webkit-appearance:none;font-size:11.5px;padding:6px 4px;background:transparent}
  table.tbl-wrap th{white-space:normal;font-size:11px;line-height:1.4}
  .ev{border-top:1px solid #ccc}
  .chk input{display:none}
  .chk:has(input:not(:checked)){display:none}
  .stagebar select{border:0;font-weight:700;color:var(--forest)}
  .gblock{break-inside:avoid}
  .evtools,.ev-head .btn{display:none!important}
  .evcard{border:1px solid #ddd;break-inside:avoid}
  .evimg{max-height:70mm}
  .evqr svg{width:90px;height:90px}
}


/* ==========================================================================
   إضافات نسخة الويب — شريط الحالة والتنبيهات ولافتة الإقلاع
   لا تغيّر أي لون من ألوان الهوية
   ========================================================================== */
.boot{max-width:1180px;margin:14px auto 0;padding:14px 16px;border-radius:14px;
  border:1px solid var(--gold);background:#FBF6E9;color:#6B5420;font-size:14.5px;line-height:1.85}
.boot b{display:block;font-family:"Cairo","Tajawal",Tahoma,sans-serif;font-size:15px;color:var(--rose);margin-bottom:4px}
.diag{max-width:1180px;margin:14px auto 0;padding:14px 16px;border-radius:14px;
  border:1px solid #DDB5A9;background:var(--clay-tint);color:#7E4234;font-size:14px;line-height:1.8}
.diag b{display:block;font-family:"Cairo","Tajawal",Tahoma,sans-serif;color:#9A4A38;margin-bottom:4px;font-size:15px}
.diag pre{direction:ltr;text-align:left;white-space:pre-wrap;word-break:break-word;background:#fff;
  border:1px solid var(--sand);border-radius:8px;padding:8px 10px;font-family:monospace;font-size:11.5px;color:#4A5651;margin:8px 0 0}

/* شريط الحالة */
.statusbar{position:sticky;top:0;z-index:39;background:rgba(252,248,245,.96);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--sand)}
.statusbar-in{max-width:1180px;margin:0 auto;padding:6px 18px;display:flex;gap:12px;align-items:center;
  font-size:12.5px;color:var(--muted);flex-wrap:wrap}
.st-save{font-weight:500}
.st-save.ok{color:var(--forest)} .st-save.warn{color:#8A6D1C} .st-save.err{color:#9A4A38;font-weight:700}
.st-net{margin-inline-start:auto} .st-net.off{color:#8A6D1C;font-weight:500}
.st-hint{color:#8A6D1C}

/* تنبيهات */
#noticeBox{max-width:1180px;margin:0 auto;padding:0 18px}
.notice{position:relative;margin-top:12px;padding:11px 36px 11px 14px;border-radius:12px;font-size:13.8px;line-height:1.8}
.notice.ok{border:1px solid #BCD4C4;background:var(--sage-tint);color:var(--forest)}
.notice.warn{border:1px solid var(--gold);background:#FBF6E9;color:#6B5420}
.notice.err{border:1px solid #DDB5A9;background:var(--clay-tint);color:#7E4234}
.notice.info{border:1px solid var(--sand);background:var(--ivory);color:var(--ink)}
.notice-x{position:absolute;inset-inline-start:8px;top:6px;border:0;background:transparent;
  color:inherit;opacity:.55;font-size:18px;line-height:1;cursor:pointer;padding:2px 6px;border-radius:6px}
.notice-x:hover{opacity:1}

.buildid{text-align:center;color:#A9B3AD;font-size:11px;padding:8px 0 0;letter-spacing:.02em}

@media (max-width:900px){
  .statusbar-in{padding:6px 12px;gap:8px;font-size:12px}
  #noticeBox{padding:0 12px}
}
@media print{
  .boot,.diag,.statusbar,#noticeBox,.buildid{display:none!important}
}
