@font-face { font-family: "Dancing Script"; font-weight: 600; font-style: normal; font-display: swap; src: url(fonts/dancing-script-600.woff2) format("woff2"); }
/* تصميم منصة بنيان:
   خلفية كحلي، لوجو الشركة فوق، المباني تحت، وكروت كحلي شفاف بإطار أبيض رفيع */

:root {
  --bg-top: #0b1f3f;
  --bg-bottom: #10305f;
  --card: rgba(20, 30, 54, 0.6);
  --card-strong: rgba(20, 30, 54, 0.8);
  --card-border: rgba(255, 255, 255, 0.25);
  --input: rgba(20, 30, 54, 0.55);
  --input-border: rgba(255, 255, 255, 0.7);
  --text: #ffffff;
  --muted: #cbd5e1;
  --accent: #3fa9f5;
  --yellow: #ffd54f;
  --green: #a5d6a7;
  --danger: #ffb4b4;
  --icon-box: #e0f2fe;
  --icon-box-border: #bae6fd;
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  min-height: 100%;
  background: linear-gradient(180deg, var(--bg-top) 0%, var(--bg-bottom) 60%, #0b2347 100%);
  background-attachment: fixed;
  color: var(--text);
  font-family: "Tajawal", "Segoe UI", Tahoma, Arial, sans-serif;
}

body::after {
  /* المباني (سكاي لاين المدينة) ثابتة تحت الشاشة وخافتة */
  content: "";
  position: fixed;
  left: 0; right: 0; bottom: 0;
  height: 32vh;
  background: url("../img/skyline.png") center bottom / contain no-repeat;
  opacity: 0.35;
  pointer-events: none;
  z-index: 0;
}

.page {
  position: relative;
  z-index: 1;
  max-width: 1100px;
  margin: 0 auto;
  padding: 24px 16px 48px;
}

.brand { text-align: center; margin-bottom: 20px; }
.brand img { width: 190px; max-width: 50vw; height: auto; }
.brand.small img { width: 130px; }

.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 13px;
}
.topbar a, .link-btn {
  color: var(--accent);
  text-decoration: none;
  cursor: pointer;
  background: none;
  border: none;
  font: inherit;
  padding: 0;
}
.link-btn.danger { color: var(--danger); }
#userBar { display: flex; align-items: center; gap: 14px; }

h1.title { text-align: center; font-size: 22px; margin: 6px 0 4px; }
p.subtitle { text-align: center; color: var(--muted); font-size: 13px; margin: 0 0 20px; }

.glass {
  background: var(--card);
  border: 1.2px solid var(--card-border);
  border-radius: 18px;
  backdrop-filter: blur(4px);
}

/* ===== كروت القوائم  ===== */
.menu {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 14px;
}
.menu-card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  cursor: pointer;
  color: inherit;
  text-decoration: none;
  transition: transform .12s ease, border-color .12s ease;
}
.menu-card:hover { transform: translateY(-2px); border-color: rgba(255,255,255,.55); }
.menu-card .icon-box {
  width: 80px; height: 60px; flex: none;
  background: var(--icon-box);
  border: 1px solid var(--icon-box-border);
  border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
}
.menu-card .icon-box img { max-width: 72px; max-height: 50px; }
.menu-card .icon-box img.svg { width: 44px; height: 44px; }
.menu-card .icon-box.full { overflow: hidden; }
.menu-card .icon-box.full img { width: 100%; height: 100%; max-width: none; max-height: none; object-fit: cover; }
.menu-card .text { flex: 1; min-width: 0; }
.menu-card .text b { display: block; font-size: 16px; }
.menu-card .text > span { display: block; color: var(--muted); font-size: 12.5px; margin-top: 3px; }
.menu-card .arrow { color: #fff; font-size: 14px; opacity: .8; }
.menu-card.disabled { opacity: .45; cursor: default; }
.menu-card.disabled:hover { transform: none; border-color: var(--card-border); }
.badge {
  display: inline-block; font-size: 11px; padding: 2px 8px; border-radius: 10px;
  background: rgba(255,213,79,.15); color: var(--yellow); margin-inline-start: 6px;
}

.section-title { font-size: 14px; color: var(--muted); margin: 22px 4px 10px; }

/* ===== نموذج تسجيل الدخول ===== */
.login-box { max-width: 420px; margin: 0 auto; padding: 22px; }
.field { display: block; margin-bottom: 14px; }
.field label { display: block; font-size: 13px; color: var(--muted); margin-bottom: 6px; }
input, select {
  width: 100%;
  padding: 11px 12px;
  border-radius: 10px;
  border: 1px solid var(--input-border);
  background: var(--input);
  color: #fff;
  font: inherit;
  font-size: 15px;
  outline: none;
}
input:focus, select:focus { border-color: var(--accent); }
select option { background: #13284d; color: #fff; }
input[type=email], input[type=password] { direction: ltr; text-align: left; }

.btn {
  display: inline-block;
  width: 100%;
  padding: 12px;
  border: none;
  border-radius: 12px;
  background: linear-gradient(90deg, #1e5aa8, #3fa9f5);
  color: #fff;
  font: inherit;
  font-weight: bold;
  font-size: 15px;
  cursor: pointer;
}
.btn:disabled { opacity: .6; cursor: default; }
.btn.secondary { background: var(--card-strong); border: 1.2px solid var(--card-border); }

.error { color: var(--danger); font-size: 13px; margin-top: 12px; text-align: center; min-height: 18px; }
.notice {
  max-width: 640px; margin: 0 auto 16px; padding: 14px 16px; font-size: 13.5px; line-height: 1.8;
  border-color: rgba(255,213,79,.6);
}
.notice code { direction: ltr; unicode-bidi: embed; background: rgba(0,0,0,.25); padding: 1px 6px; border-radius: 6px; }

/* ===== قوائم البيانات ===== */
.toolbar { display: flex; gap: 10px; align-items: center; margin-bottom: 12px; flex-wrap: wrap; }
.toolbar input { flex: 1; min-width: 220px; }
.breadcrumb { color: var(--yellow); font-weight: bold; font-size: 14px; }

.list { display: flex; flex-direction: column; gap: 10px; }
.row {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 13px 16px; border-radius: 12px;
  background: var(--input);
  border: 1px solid rgba(255,255,255,.55);
  cursor: pointer;
}
.row:hover { border-color: #fff; }
.row .main { min-width: 0; }
.row .main b { display: block; font-size: 15px; }
.row .main > span { display: block; color: var(--muted); font-size: 12.5px; margin-top: 3px; }
.row .count {
  flex: none; min-width: 44px; text-align: center; padding: 4px 10px; border-radius: 12px;
  background: rgba(63,169,245,.18); color: #9ed3ff; font-weight: bold; font-size: 13px;
}
.empty, .loading { text-align: center; color: var(--muted); padding: 28px; }

/* ===== نافذة التفاصيل ===== */
.modal-backdrop {
  position: fixed; inset: 0; background: rgba(0,0,0,.55); z-index: 10;
  display: none; align-items: center; justify-content: center; padding: 16px;
}
.modal-backdrop.open { display: flex; }
.modal {
  width: 100%; max-width: 680px; max-height: 88vh; overflow: auto;
  background: rgba(20,30,54,.97); border: 1.2px solid var(--card-border); border-radius: 18px;
  padding: 20px 22px;
}
.modal h2 { margin: 0 0 6px; font-size: 18px; }
.modal h3 { margin: 18px 0 6px; font-size: 14.5px; color: var(--yellow); }
.modal ul { margin: 0; padding-inline-start: 18px; }
.modal li { margin: 4px 0; font-size: 14px; line-height: 1.7; }
.modal .none { color: #8b98ab; font-size: 13px; }
.modal .close { margin-top: 18px; }

@media (max-width: 600px) {
  .menu { grid-template-columns: 1fr; }
  .brand img { width: 150px; }
}

/* ===== شاشات الملخص (أسبوعي / شهري) ===== */
.panel { padding: 16px 18px; margin-bottom: 14px; }
.panel-title { margin: 0 0 10px; font-size: 15px; }
.controls { display: flex; gap: 14px; align-items: flex-end; flex-wrap: wrap; }
.controls label { font-size: 13px; color: var(--muted); display: flex; flex-direction: column; gap: 6px; }
.controls .grow { flex: 1; min-width: 220px; }
.period { display: flex; align-items: center; gap: 10px; }
.period-label { font-weight: bold; color: var(--yellow); min-width: 170px; text-align: center; }
.actions { display: flex; gap: 10px; margin-top: 14px; flex-wrap: wrap; }
.btn.small { width: auto; padding: 9px 16px; font-size: 14px; white-space: nowrap; }
.btn.green { background: linear-gradient(90deg, #2e7d32, #43a047); }
.stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 14px; }
.stat { padding: 14px 16px; text-align: center; }
.stat span { display: block; color: var(--muted); font-size: 13px; }
.stat b { display: block; font-size: 28px; margin-top: 4px; }
.summary h3 { margin: 14px 0 6px; font-size: 14px; color: var(--yellow); }
.summary ul { margin: 0; padding-inline-start: 18px; }
.summary li { margin: 3px 0; font-size: 14px; }
.summary .panel-title { margin-top: 0; }
.summary .none { color: #8b98ab; font-size: 13px; }

.chart svg { width: 100%; height: 240px; display: block; }
.chart .bar { fill: #3fa9f5; }
.chart .grid { stroke: rgba(255,255,255,.12); stroke-width: 1; }
.chart .axis { stroke: rgba(255,255,255,.35); stroke-width: 1; }
.chart .lbl, .chart .val { fill: #cbd5e1; font-size: 12px; text-anchor: middle; font-family: inherit; }
.chart .val { fill: #fff; font-weight: bold; }
.chart .hit { fill: transparent; cursor: default; }
.chart .hit:hover { fill: rgba(255,255,255,.06); }
.chart-tip {
  position: fixed; display: none; z-index: 20; pointer-events: none;
  background: #0b1f3f; border: 1px solid rgba(255,255,255,.35); border-radius: 8px;
  padding: 6px 10px; font-size: 12.5px; color: #fff; text-align: center;
}

.table { width: 100%; border-collapse: collapse; font-size: 14px; }
.table th { color: var(--muted); font-weight: bold; text-align: center; padding: 8px 6px; border-bottom: 1px solid rgba(255,255,255,.25); }
.table td { text-align: center; padding: 8px 6px; border-bottom: 1px solid rgba(255,255,255,.08); }
.table th:first-child, .table td:first-child { text-align: right; }

.print-only { display: none; }

@media (max-width: 600px) {
  .stats { grid-template-columns: 1fr 1fr 1fr; gap: 8px; }
  .stat b { font-size: 22px; }
  .period { width: 100%; flex-wrap: wrap; justify-content: space-between; }
  .period-label { min-width: 0; order: -1; width: 100%; }
}

/* ===== الطباعة / حفظ PDF: خلفية بيضاء وكلام غامق عشان يتطبع واضح ===== */
@media print {
  html, body { background: #fff !important; color: #111 !important; }
  body::after, .no-print, .chart-tip, .modal-backdrop { display: none !important; }
  .print-only { display: block; text-align: center; margin-bottom: 12px; font-size: 15px; }
  .page { max-width: none; padding: 0; }
  .brand img { filter: invert(1) hue-rotate(180deg); }
  .glass, .row { background: #fff !important; border: 1px solid #bbb !important; backdrop-filter: none; color: #111; }
  .subtitle, .stat span, .section-title, .row .main > span, .table th { color: #444 !important; }
  .summary h3, .panel-title { color: #0b2d5b !important; }
  .chart .bar { fill: #1e5aa8; }
  .chart .lbl { fill: #333; } .chart .val { fill: #111; }
  .chart .grid { stroke: #ddd; } .chart .axis { stroke: #999; }
  .row { break-inside: avoid; }
}

/* ===== متابعة تقدم المشاريع + الإحصائيات ===== */
.st-red { color: #ff6b6b; } .st-green { color: #7cfc98; } .st-yellow { color: #ffd54f; }
.row .main > span.st-green { color: #7cfc98; } .row .main > span.st-yellow { color: #ffd54f; }
.st-gray { color: #9aa5b5; } .st-orange { color: #ffb74d; } .st-blue { color: #81d4fa; }
.muted { color: var(--muted); font-size: 13px; }
.hint { color: var(--muted); font-size: 12.5px; margin: 0 4px 10px; }
.prow { cursor: pointer; }
.prow .main > span { margin-top: 4px; }
.prow-head { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.prow-head .pct { font-weight: bold; font-size: 16px; }
.pbar { position: relative; height: 10px; border-radius: 6px; background: rgba(255,255,255,.12); margin: 8px 0 4px; overflow: visible; }
.pfill { position: absolute; right: 0; top: 0; bottom: 0; border-radius: 6px; background: linear-gradient(270deg, #1e5aa8, #3fa9f5); }
.pmark { position: absolute; top: -4px; bottom: -4px; width: 3px; margin-right: -1.5px; background: #ffd54f; border-radius: 2px; }
.stats.four { grid-template-columns: repeat(4, 1fr); }
.stats.four .stat span { min-height: 34px; }
ul.plain { list-style: none; margin: 0; padding: 0; }
ul.plain li { margin: 5px 0; font-size: 14px; }
.hbars { display: flex; flex-direction: column; gap: 8px; }
.hbar { display: grid; grid-template-columns: minmax(90px, 200px) 1fr 40px; align-items: center; gap: 10px; font-size: 14px; }
.hbar .ht { height: 12px; background: rgba(255,255,255,.10); border-radius: 6px; }
.hbar .hf { height: 100%; border-radius: 6px; background: #3fa9f5; }
.hbar b { text-align: left; }
@media (max-width: 600px) {
  .stats.four { grid-template-columns: 1fr 1fr; }
  .hbar { grid-template-columns: 90px 1fr 30px; }
}
@media print {
  .pbar { background: #eee; } .pmark { background: #e0a800; }
  .st-green { color: #1b7f3a !important; } .st-red { color: #c62828 !important; }
  .st-yellow { color: #a07800 !important; } .st-orange { color: #c66900 !important; } .st-blue { color: #0b5d8f !important; }
  .muted, .hint { color: #444 !important; }
  .hbar .ht { background: #eee; } .hbar .hf { background: #1e5aa8; }
}

/* ===== شاشات نظم: نوافذ الإدخال والأزرار ===== */
.dlg-body .field { margin-bottom: 12px; }
.dlg-body .grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px; }
.dlg-actions { display: flex; gap: 10px; margin-top: 16px; flex-wrap: wrap; }
.dlg-actions .btn { flex: 1; }
.btn.danger { background: linear-gradient(90deg, #b71c1c, #e53935); }
.row-actions { display: flex; gap: 8px; flex: none; }
.row-actions button { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.3); color: #fff; border-radius: 8px; padding: 6px 12px; font: inherit; font-size: 13px; cursor: pointer; }
.row-actions button.edit { color: #64b5f6; } .row-actions button.del { color: #ef9a9a; }
.row-actions button:hover { border-color: #fff; }
.checks { display: flex; flex-direction: column; gap: 8px; max-height: 50vh; overflow: auto; }
.checks label { display: flex; align-items: center; gap: 10px; font-size: 15px; padding: 8px 10px; border-radius: 10px; background: rgba(255,255,255,.05); cursor: pointer; }
.checks input { width: 18px; height: 18px; accent-color: #3fa9f5; }
input[type=date] { color-scheme: dark; }
.toast {
  position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%) translateY(20px); opacity: 0;
  background: #0b1f3f; border: 1px solid rgba(255,255,255,.4); color: #fff; padding: 10px 18px; border-radius: 12px;
  z-index: 30; transition: all .2s ease; pointer-events: none; font-size: 14px;
}
.toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }
@media (max-width: 600px) { .dlg-body .grid2 { grid-template-columns: 1fr; } .row { flex-wrap: wrap; } }

/* ===== شاشة كتابة التقرير اليومي (إتقان) ===== */
textarea {
  width: 100%; min-height: 90px; padding: 11px 12px; border-radius: 10px;
  border: 1px solid var(--input-border); background: var(--input); color: #fff;
  font: inherit; font-size: 15px; outline: none; resize: vertical;
}
textarea:focus { border-color: var(--accent); }
input:disabled, select:disabled { opacity: .7; cursor: not-allowed; }
.info-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 4px; }
.info-grid div { background: rgba(255,255,255,.05); border-radius: 10px; padding: 8px 10px; }
.info-grid span { display: block; color: var(--muted); font-size: 12px; }
.info-grid b { display: block; font-size: 14px; margin-top: 2px; overflow-wrap: anywhere; }
.rrow { border: 1px solid rgba(255,255,255,.22); border-radius: 12px; padding: 12px; margin-bottom: 10px; background: rgba(255,255,255,.03); }
.rrow-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.rrow-head b { color: var(--yellow); font-size: 14px; }
.rrow-head button { background: none; border: none; color: var(--danger); font: inherit; font-size: 13px; cursor: pointer; }
.rgrid { display: grid; gap: 0 12px; }
.rgrid.c2 { grid-template-columns: 1fr 1fr; }
.rgrid.c3 { grid-template-columns: 2fr 1fr 1fr; }
.rgrid.c4 { grid-template-columns: 1fr 1fr; }
.rgrid .field { margin-bottom: 10px; }
.add-row { background: none; border: 1.2px dashed rgba(255,255,255,.45); color: #fff; border-radius: 10px; padding: 9px; width: 100%; font: inherit; font-size: 14px; cursor: pointer; }
.add-row:hover { border-color: #fff; background: rgba(255,255,255,.05); }
.total-labor { margin-top: 10px; font-size: 14px; color: var(--muted); }
.total-labor b { color: #fff; font-size: 16px; }
.invalid { border-color: #ff6b6b !important; box-shadow: 0 0 0 2px rgba(255,107,107,.25); }
.field-error { color: #ff8a80; font-size: 12px; margin-top: 4px; }
.edit-banner { border-color: rgba(255,213,79,.6); padding: 10px 14px; margin-bottom: 14px; font-size: 14px; color: var(--yellow); text-align: center; }
.submit-bar { margin: 6px 0 30px; }
.report-row .edit-link { display: inline-block; margin-top: 8px; font-size: 13px; font-weight: bold; color: #64b5f6; background: none; border: none; padding: 0; cursor: pointer; font-family: inherit; }
.report-row .edit-locked { display: inline-block; margin-top: 8px; font-size: 13px; color: rgba(255,255,255,.55); }
@media (max-width: 640px) {
  .info-grid { grid-template-columns: 1fr 1fr; }
  .rgrid.c3 { grid-template-columns: 1fr 1fr; }
  .rgrid.c3 > .field:first-child { grid-column: 1 / -1; }
}

/* ===== الشاشة الرئيسية وشاشات الأقسام (عمود واحد في النص ) ===== */
.menu.single { grid-template-columns: 1fr; max-width: 560px; margin: 0 auto; }
.menu.single .menu-card { padding: 16px 18px; }
.page-head { text-align: center; margin: 0 0 18px; }
.page-head img { height: 64px; max-width: 170px; object-fit: contain; display: block; margin: 0 auto 10px; background: var(--icon-box); border: 1px solid var(--icon-box-border); border-radius: 16px; padding: 8px 14px; box-sizing: content-box; }
.page-head h1 { margin: 0; font-size: 22px; }
.page-head p { margin: 4px 0 0; color: var(--muted); font-size: 13.5px; }

/* ===== شاشة إدارة المعوقات ===== */
.obs-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 14px; }
.obs { padding: 14px 16px; display: flex; flex-direction: column; gap: 8px; }
.obs.done { opacity: .72; }
.obs-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.obs-head .main { min-width: 0; }
.obs-head .main b { display: block; font-size: 15px; }
.obs-head .main > span { display: block; color: var(--muted); font-size: 12.5px; margin-top: 3px; overflow-wrap: anywhere; }
.obs-type { font-weight: bold; color: var(--yellow); font-size: 15px; }
.obs-desc { margin: 0; font-size: 14px; line-height: 1.8; overflow-wrap: anywhere; }
.obs-meta { color: var(--muted); font-size: 13px; }
.obs-meta b { color: #fff; }
.obs-actions { display: flex; gap: 8px; margin-top: auto; padding-top: 6px; flex-wrap: wrap; }
.pill { flex: none; display: inline-block; font-size: 12px; font-weight: bold; padding: 3px 10px; border-radius: 12px; white-space: nowrap; }
.pill.warn { background: rgba(255,183,77,.18); color: #ffb74d; }
.pill.ok { background: rgba(124,252,152,.16); color: #7cfc98; }
.pill.prio { margin-inline-start: 6px; font-weight: normal; }
.pill.prio.high { background: rgba(255,107,107,.18); color: #ff8a80; }
.pill.prio.mid { background: rgba(255,213,79,.16); color: #ffd54f; }
.pill.prio.low { background: rgba(129,212,250,.16); color: #81d4fa; }
@media (max-width: 600px) { .obs-list { grid-template-columns: 1fr; } }

/* ===== لوحة إدارة التخطيط: أقسام وكروت الشاشات كلها برّه ===== */
.plan-head { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; margin: 26px 4px 12px; padding-bottom: 8px; border-bottom: 1px solid rgba(255,255,255,.18); }
.plan-head:first-child { margin-top: 6px; }
.plan-head h2 { margin: 0; font-size: 18px; color: var(--yellow); }
.plan-head span { color: var(--muted); font-size: 13px; }

/* ===== لوحة إدارة التخطيط: أقسام قابلة للطي (drop panels) ===== */
.sec { margin-bottom: 16px; overflow: hidden; }
.sec > summary { list-style: none; display: flex; align-items: center; gap: 14px; padding: 14px 18px; cursor: pointer; user-select: none; }
.sec > summary::-webkit-details-marker { display: none; }
.sec > summary:hover { background: rgba(255,255,255,.04); }
.sec > summary > img { width: 44px; height: 44px; flex: none; padding: 6px; background: var(--icon-box); border: 1px solid var(--icon-box-border); border-radius: 12px; box-sizing: border-box; }
.sec .t { flex: 1; min-width: 0; }
.sec .t b { display: block; font-size: 17px; color: var(--yellow); }
.sec .t span { display: block; color: var(--muted); font-size: 12.5px; margin-top: 3px; }
.sec .chev { flex: none; font-size: 18px; color: var(--muted); transition: transform .15s ease; }
.sec:not([open]) .chev { transform: rotate(90deg); }
.sec .menu { padding: 4px 16px 16px; }
.sec .menu-card { background: rgba(255,255,255,.04); }

/* ===== تصميم 3D (بيتفعّل بكلاس d3 على <main>) =====
   نفس هوية الموقع: كحلي غامق + إطار أبيض رفيع، لكن بسطوح متدرجة فيها إضاءة من فوق،
   حواف مشطوفة، وظلال عمق، وارتفاع وميلان خفيف عند الوقوف بالماوس */
.d3 .glass {
  background: linear-gradient(150deg, rgba(48,72,118,.78) 0%, rgba(22,36,68,.88) 55%, rgba(12,22,46,.94) 100%);
  border: 1.2px solid rgba(255,255,255,.26);
  border-top-color: rgba(255,255,255,.6);
  border-bottom-color: rgba(255,255,255,.12);
  border-radius: 20px;
  box-shadow:
    inset 0 1.5px 0 rgba(255,255,255,.28),
    inset 0 -3px 8px rgba(0,0,0,.35),
    0 1px 0 rgba(255,255,255,.06),
    0 14px 28px -8px rgba(0,0,0,.6),
    0 4px 10px rgba(0,0,0,.35);
  backdrop-filter: blur(6px);
}
.d3 .menu { perspective: 1000px; }
.d3 .menu-card {
  position: relative;
  transform-style: preserve-3d;
  transition: transform .18s ease-out, box-shadow .18s ease-out, border-color .18s ease-out;
  will-change: transform;
}
.d3 .menu-card::after {                       /* لمعة ضوء بتتحرك مع الماوس */
  content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  background: radial-gradient(240px circle at var(--mx, 50%) var(--my, 0%), rgba(255,255,255,.16), transparent 60%);
  opacity: 0; transition: opacity .18s ease-out;
}
.d3 .menu-card:hover {
  transform: translateY(-5px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));
  border-color: rgba(255,255,255,.55);
  border-top-color: rgba(255,255,255,.85);
  box-shadow:
    inset 0 1.5px 0 rgba(255,255,255,.4),
    inset 0 -3px 8px rgba(0,0,0,.35),
    0 26px 38px -10px rgba(0,0,0,.7),
    0 8px 14px rgba(0,0,0,.4);
}
.d3 .menu-card:hover::after { opacity: 1; }
.d3 .menu-card:active { transform: translateY(-1px) scale(.995); }
.d3 .menu-card .icon-box,
.d3 .sec > summary > img {
  background: linear-gradient(160deg, #f6fcff 0%, #d4ecfd 55%, #b4dbf6 100%);
  border: 1px solid #9fcdef;
  box-shadow:
    inset 0 2px 0 #fff,
    inset 0 -4px 8px rgba(30,90,168,.28),
    0 8px 14px -2px rgba(0,0,0,.55),
    0 2px 0 rgba(255,255,255,.12);
  transform: none;
}
.d3 .menu-card .icon-box img { filter: drop-shadow(0 3px 3px rgba(11,45,91,.35)); }
.d3 .menu-card .text b { text-shadow: 0 2px 4px rgba(0,0,0,.45); }
.d3 .menu-card .arrow { text-shadow: 0 2px 3px rgba(0,0,0,.5); }

/* أقسام اللوحة */
.d3 .sec { overflow: visible; }
.d3 .sec > summary { border-radius: 20px; }
.d3 .sec > summary:hover { background: rgba(255,255,255,.05); }
.d3 .sec .t b { text-shadow: 0 2px 4px rgba(0,0,0,.5); }
.d3 .sec .menu-card { background: linear-gradient(150deg, rgba(58,86,138,.7), rgba(18,30,60,.9)); }

/* أزرار بارزة تتضغط */
.d3 .btn {
  background: linear-gradient(180deg, #4aa3ee 0%, #1e5aa8 100%);
  border: 1px solid rgba(255,255,255,.35);
  border-top-color: rgba(255,255,255,.7);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.45), 0 4px 0 #0b2d5b, 0 10px 14px rgba(0,0,0,.4);
  text-shadow: 0 1px 2px rgba(0,0,0,.4);
  transition: transform .08s ease-out, box-shadow .08s ease-out;
}
.d3 .btn.secondary {
  background: linear-gradient(180deg, rgba(70,96,146,.7) 0%, rgba(22,36,68,.95) 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.3), 0 4px 0 #08183a, 0 10px 14px rgba(0,0,0,.4);
}
.d3 .btn.green {
  background: linear-gradient(180deg, #5fcf65 0%, #2e7d32 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.5), 0 4px 0 #1b5e20, 0 10px 14px rgba(0,0,0,.4);
}
.d3 .btn:hover:not(:disabled) { transform: translateY(-1px); }
.d3 .btn:active:not(:disabled) { transform: translateY(3px); box-shadow: inset 0 1px 0 rgba(255,255,255,.3), 0 1px 0 #0b2d5b, 0 3px 6px rgba(0,0,0,.4); }

/* شاشة المعوقات: كروت وأرقام وفلاتر بارزة */
.d3 .obs { transition: transform .18s ease-out, box-shadow .18s ease-out; }
.d3 .obs:hover { transform: translateY(-4px); box-shadow: inset 0 1.5px 0 rgba(255,255,255,.34), inset 0 -3px 8px rgba(0,0,0,.35), 0 24px 34px -10px rgba(0,0,0,.7), 0 6px 12px rgba(0,0,0,.4); }
.d3 .obs.done { opacity: .78; }
.d3 .stat b { text-shadow: 0 3px 6px rgba(0,0,0,.55); }
.d3 .pill { box-shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 2px 4px rgba(0,0,0,.35); }
.d3 input, .d3 select { box-shadow: inset 0 3px 6px rgba(0,0,0,.45), 0 1px 0 rgba(255,255,255,.12); }

@media (prefers-reduced-motion: reduce) {
  .d3 .menu-card, .d3 .obs, .d3 .btn { transition: none; }
  .d3 .menu-card:hover, .d3 .obs:hover { transform: none; }
}

/* ===== الخلفية الجديدة (كلاس nb على body) =====
   بتتطبق على كل الصفحات ما عدا الدخول والرئيسية.
   المباني خلفية ثابتة مثبتة في الأسفل (مفيش حاجة بتتقص لما حجم النافذة يتغير)،
   ولوجو الشركة وسطرا الحقوق عناصر منفصلة. */
@media (min-width: 900px) {
  body.nb { background: transparent; }
  body.nb::before {                       /* الخلفية: ستارة كحلي خفيفة فوق الصورة عشان الكلام يفضل مقروء */
    content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
    background-color: #00204a;
    background-image:
      linear-gradient(180deg, rgba(0, 26, 60, .30) 0%, rgba(0, 26, 60, .18) 100%),
      url("../img/bg_wide.jpg");
    background-size: auto, cover;
    background-position: 0 0, center bottom;
    background-repeat: no-repeat;
  }
  body.nb::after { display: none; }       /* السكاي لاين القديم */
  body.nb .page { min-height: 100vh; padding-bottom: 120px; max-width: 1560px; }
  body.nb .page::after, body.nb .page::before {   /* سطرا الحقوق في آخر الصفحة */
    position: absolute; left: 0; right: 0; text-align: center; pointer-events: none; direction: ltr;
  }
  body.nb .page::after {
    content: "© 2026 Bonyan Co."; bottom: 36px; padding-top: 14px;
    font-size: 14px; letter-spacing: .08em; color: rgba(206, 222, 242, .92);
    background: linear-gradient(90deg, transparent, rgba(190, 210, 235, .45), transparent) top center / 380px 1px no-repeat;
  }
  body.nb .page::before {
    content: none;
  }
  body.nb .nb-dev { position: absolute; left: 0; right: 0; bottom: 12px; text-align: center; pointer-events: none; font-size: 12px; letter-spacing: .07em; font-weight: 400; color: rgba(200, 216, 238, .98); }
  body.nb .nb-dev .nb-dev-c { display: none; }
  body.nb .nb-dev b { font-family: "Dancing Script", cursive; font-weight: 600; font-size: 1.2em; line-height: 1; letter-spacing: .02em; color: #fff; vertical-align: -.08em; }
}
/* الموبايل: سطرا الحقوق في آخر محتوى كل صفحة (مش ثابتين عشان مايغطوش على الشغل) */
@media (max-width: 899px) {
  body.nb .page::after {
    content: none;
  }
  body.nb .nb-dev { display: block; text-align: center; pointer-events: none; margin-top: 28px; padding: 12px 0 calc(6px + env(safe-area-inset-bottom)); font-size: 11px; line-height: 1.8; letter-spacing: .06em; color: rgba(205, 220, 240, .95);
    background: linear-gradient(90deg, transparent, rgba(190, 210, 235, .45), transparent) top center / 240px 1px no-repeat; }
  body.nb .nb-dev span { display: block; }
  body.nb .nb-dev b { font-family: "Dancing Script", cursive; font-weight: 600; font-size: 1.2em; line-height: 1; letter-spacing: .02em; color: #fff; vertical-align: -.08em; }
  body.nb .page::after { content: none; direction: ltr; text-align: center; pointer-events: none;
    margin-top: 28px; padding: 12px 0 calc(6px + env(safe-area-inset-bottom));
    font-size: 11px; line-height: 1.8; letter-spacing: .06em; font-weight: 700; color: rgba(205, 220, 240, .95);
    background: linear-gradient(90deg, transparent, rgba(190, 210, 235, .45), transparent) top center / 240px 1px no-repeat;
  }
}
/* ===== خلفية موحدة لكل الموقع (2026-10-08): شاشة الدخول (كلاس login) + كل الصفحات على الموبايل =====
   نفس صورة المباني اللي في الشاشات الكبيرة. على الموبايل الصورة بتتثبت تحت والسما بنفس لونها فوق. */
body.login { background: transparent; }
body.login::after { display: none; }
body.login::before {
  content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background-color: #00204a;
  background-image:
    linear-gradient(180deg, rgba(0, 26, 60, .30) 0%, rgba(0, 26, 60, .18) 100%),
    url("../img/bg_wide.jpg");
  background-size: auto, cover;
  background-position: 0 0, center bottom;
  background-repeat: no-repeat;
}
@media (max-width: 899px) {
  body.nb { background: transparent; }
  body.nb::after { display: none; }
  body.nb::before {
    content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
    background-image:
      linear-gradient(180deg, rgba(0, 26, 60, .30) 0%, rgba(0, 26, 60, .18) 100%),
      url("../img/bg_wide.jpg");
    background-repeat: no-repeat;
  }
  body.nb::before, body.login::before {
    background-color: #00224f;
    background-size: auto, auto 56vh;
    background-position: 0 0, center bottom;
  }
}
@media print { body.login::before { display: none !important; } }
@media print { body.nb::before, body.nb::after, body.nb .page::before, body.nb .page::after { display: none !important; } }

/* ===== الترتيب العام: شريط علوي موحد بعرض المحتوى (للصفحات اللي فيها nb) =====
   [لوجو الشركة] | [رجوع]  ............  [الإيميل] [تسجيل الخروج] */
@media (min-width: 900px) {
  body.nb .brand { display: none; }                      /* اللوجو دلوقتي جوه الشريط */
  body.nb .page { padding-top: 116px; }
  body.nb .topbar {
    position: fixed; top: 0; left: 0; right: 0; z-index: 20; height: 92px; margin: 0;
    padding: 0 max(20px, calc((100vw - 1560px) / 2 + 16px));   /* نفس حواف المحتوى بالظبط */
    display: flex; align-items: center; gap: 14px; font-size: 14px;
    background: linear-gradient(180deg, rgba(8, 26, 56, .94), rgba(10, 32, 66, .80));
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(255, 255, 255, .16);
    box-shadow: 0 10px 26px rgba(0, 0, 0, .38), inset 0 -1px 0 rgba(255, 255, 255, .05);
  }
  body.nb .topbar::before {                               /* لوجو الشركة: أول عنصر في الشريط (أقصى اليمين من المحتوى) */
    content: ""; flex: none; width: 150px; height: 80px; margin-inline-end: 8px; padding-inline-end: 22px;
    background: url("../img/company_logo.png") right center / contain no-repeat;
    background-origin: content-box;
    border-inline-end: 1px solid rgba(255, 255, 255, .2);
  }
  body.nb .topbar > a {                                   /* زرار رجوع */
    display: inline-flex; align-items: center; gap: 6px; padding: 8px 16px; border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, .26); background: rgba(255, 255, 255, .07);
    color: #fff; font-weight: bold; text-decoration: none; transition: background .12s, border-color .12s;
  }
  body.nb .topbar > a:hover { background: rgba(255, 255, 255, .15); border-color: rgba(255, 255, 255, .6); }
  body.nb #userBar { margin-inline-start: auto; gap: 12px; }
  body.nb #userBar > span { color: var(--muted); padding: 7px 12px; border-radius: 10px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .12); }
  body.nb #userBar .link-btn.danger {
    padding: 8px 14px; border-radius: 10px; border: 1px solid rgba(255, 150, 150, .45);
    background: rgba(183, 28, 28, .18); color: #ffb4b4; font-weight: bold;
  }
  body.nb #userBar .link-btn.danger:hover { background: rgba(229, 57, 53, .32); border-color: rgba(255, 180, 180, .8); }
}
@media print {
  body.nb .topbar { position: static; height: auto; background: none; box-shadow: none; border: 0; padding: 0; }
  body.nb .topbar::before { display: none; }
  body.nb .page { padding-top: 0; }
}

/* ===== كروت وصناديق شفافة (الخلفية بتظهر من ورا) ===== */
@media (min-width: 900px) {
  body.nb .glass, body.nb .panel, body.nb .stat, body.nb .obs, body.nb .menu-card, body.nb .sec .menu-card, body.nb .login-box {
    background: linear-gradient(150deg, rgba(60, 94, 152, .30), rgba(10, 24, 54, .40));
    backdrop-filter: blur(8px) saturate(1.2);
    border-color: rgba(255, 255, 255, .20);
    border-top-color: rgba(255, 255, 255, .46);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22), inset 0 -2px 6px rgba(0, 0, 0, .18), 0 12px 26px -12px rgba(0, 0, 0, .5);
  }
  body.nb .menu-card:hover, body.nb .obs:hover { background: linear-gradient(150deg, rgba(74, 112, 176, .34), rgba(14, 30, 64, .38)); }
  /* أقسام التخطيط: من غير صندوق خارجي، عنوان القسم بخط تحته والكروت هي اللي زجاجية */
  body.nb .sec { background: transparent; border: 0; box-shadow: none; backdrop-filter: none; margin-bottom: 10px; }
  body.nb .sec > summary { border-radius: 14px; padding: 12px 16px; background: linear-gradient(150deg, rgba(60, 94, 152, .26), rgba(10, 24, 54, .38)); backdrop-filter: blur(8px) saturate(1.2); border: 1px solid rgba(255, 255, 255, .20); border-top-color: rgba(255, 255, 255, .42); }
  body.nb .sec > summary:hover { background: linear-gradient(150deg, rgba(74, 112, 176, .34), rgba(14, 30, 64, .42)); }
  body.nb .sec .menu { padding: 16px 0 6px; }
  /* الصفوف والحقول */
  body.nb .row { background: rgba(10, 24, 54, .34); backdrop-filter: blur(6px); border-color: rgba(255, 255, 255, .34); }
  body.nb .row:hover { background: rgba(60, 94, 152, .32); }
  body.nb input, body.nb select, body.nb textarea { background: rgba(10, 24, 54, .50); box-shadow: inset 0 2px 5px rgba(0, 0, 0, .3); }
  body.nb .rrow { background: rgba(255, 255, 255, .02); }
  body.nb .info-grid div { background: rgba(255, 255, 255, .06); }
  /* وضوح النص فوق الخلفية */
  body.nb .glass, body.nb .panel, body.nb .menu-card, body.nb .obs, body.nb .row, body.nb .stat, body.nb .sec > summary, body.nb .page-head, body.nb h1.title, body.nb .subtitle {
    text-shadow: 0 1px 3px rgba(0, 0, 0, .65);
  }
  body.nb .menu-card .text > span, body.nb .subtitle, body.nb .muted { color: #dbe5f1; }
}

/* ===== اللوحة الرئيسية: كروت المشاريع + اكتمال البيانات ===== */
.stats.five { grid-template-columns: repeat(5, 1fr); }
.pgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 16px; perspective: 1200px; }
.pcard {
  position: relative; display: block; padding: 16px 18px 14px; color: inherit; text-decoration: none;
  transform-style: preserve-3d; will-change: transform;
  transition: transform .18s ease-out, box-shadow .18s ease-out, border-color .18s ease-out;
}
.pcard::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  background: radial-gradient(260px circle at var(--mx, 50%) var(--my, 0%), rgba(255,255,255,.16), transparent 60%);
  opacity: 0; transition: opacity .18s ease-out;
}
.pcard:hover { transform: translateY(-5px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); border-color: rgba(255,255,255,.55); box-shadow: inset 0 1.5px 0 rgba(255,255,255,.4), 0 26px 38px -10px rgba(0,0,0,.7), 0 8px 14px rgba(0,0,0,.4); }
.pcard:hover::after { opacity: 1; }
.pc-head { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.pc-head b { font-size: 17px; text-shadow: 0 2px 4px rgba(0,0,0,.45); }
.pc-head .pct { font-size: 26px; font-weight: bold; color: #7cc4ff; text-shadow: 0 2px 6px rgba(0,0,0,.5); }
.pcard .pbar { height: 12px; margin: 10px 0 8px; }
.pc-sub { display: flex; justify-content: space-between; gap: 10px; font-size: 13px; }
.pc-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 8px; }
.chip { font-size: 12px; padding: 3px 10px; border-radius: 999px; border: 1px solid rgba(255,255,255,.25); background: rgba(255,255,255,.08); }
.chip.ok { color: #8fe3a8; border-color: rgba(143,227,168,.45); background: rgba(46,160,90,.15); }
.chip.warn { color: #ffcf8a; border-color: rgba(255,207,138,.45); background: rgba(230,150,30,.16); }
.pc-foot { font-size: 12px; }
.dqgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px 22px; padding: 6px 16px 12px; }
.dq-h { display: flex; justify-content: space-between; font-size: 13.5px; }
.dq small { color: var(--muted); font-size: 12px; }
@media (max-width: 899px) { .stats.five { grid-template-columns: 1fr 1fr; } }
@media (prefers-reduced-motion: reduce) { .pcard, .pcard:hover { transition: none; transform: none; } }

/* قسم اكتمال البيانات: صندوق زجاجي كامل عشان الكلام يتقري فوق الخلفية */
@media (min-width: 900px) {
  body.nb .dqsec { background: linear-gradient(150deg, rgba(60, 94, 152, .34), rgba(10, 24, 54, .62)); backdrop-filter: blur(10px) saturate(1.2); border: 1px solid rgba(255, 255, 255, .20); border-top-color: rgba(255, 255, 255, .42); border-radius: 20px; box-shadow: 0 12px 26px -12px rgba(0, 0, 0, .5); margin-top: 18px; }
  body.nb .dqsec > summary { background: transparent; border: 0; backdrop-filter: none; }
}

/* ===== صفحة المشروع: التبويبات + التقويم + عناصر مساعدة ===== */
.tabs { display: flex; gap: 8px; overflow-x: auto; padding: 4px 2px 10px; margin: 0 0 8px; scrollbar-width: thin; }
.tabs[hidden], section[hidden] { display: none !important; }
.tabs button {
  flex: none; font: inherit; font-weight: bold; color: #dbe7f6; cursor: pointer; padding: 10px 20px; border-radius: 14px;
  border: 1.2px solid rgba(255,255,255,.22); border-top-color: rgba(255,255,255,.45);
  background: linear-gradient(160deg, rgba(60,94,152,.40), rgba(10,24,54,.55));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.2), inset 0 -2px 5px rgba(0,0,0,.25), 0 6px 12px -6px rgba(0,0,0,.6);
  transition: transform .15s, background .15s, border-color .15s;
}
.tabs button:hover { transform: translateY(-2px); border-color: rgba(255,255,255,.55); }
.tabs button.on {
  color: #fff; border-color: #ffd54f; border-top-color: #ffe58a;
  background: linear-gradient(160deg, rgba(40,110,200,.75), rgba(14,40,90,.85));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35), inset 0 -2px 5px rgba(0,0,0,.3), 0 0 0 1px rgba(255,213,79,.35), 0 8px 16px -6px rgba(0,0,0,.7);
}
.pbar.big { height: 18px; }
.pbar.big .pfill, .pbar.big { border-radius: 10px; }
.legend { display: flex; gap: 18px; flex-wrap: wrap; font-size: 13px; color: var(--muted); margin-bottom: 6px; }
.legend i { display: inline-block; width: 14px; height: 4px; border-radius: 2px; margin-inline-end: 6px; vertical-align: middle; }
.legend .c-has, .legend .c-miss, .legend .c-off { height: 12px; width: 12px; border-radius: 4px; }
.legend .c-has { background: #2e9e5a; } .legend .c-miss { background: #c8433a; } .legend .c-off { background: rgba(255,255,255,.25); }
.mini { display: flex; align-items: center; gap: 8px; } .mini .pbar { flex: 1; margin: 0; } .mini b { min-width: 38px; }
.table small { display: block; font-size: 11.5px; }
.cal-nav { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
.cal-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; }
.cal-h { text-align: center; color: var(--muted); font-size: 13px; padding: 4px 0; }
.cal-d {
  font: inherit; color: #fff; min-height: 70px; border-radius: 12px; border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.05); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; cursor: default;
}
.cal-d b { font-size: 17px; } .cal-d small { font-size: 12px; opacity: .9; }
.cal-d.empty { visibility: hidden; }
.cal-d.has { cursor: pointer; background: linear-gradient(150deg, rgba(46,160,90,.65), rgba(20,90,50,.65)); border-color: rgba(143,227,168,.65); box-shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 6px 12px -6px rgba(0,0,0,.6); transition: transform .12s; }
.cal-d.has:hover { transform: translateY(-3px); }
.cal-d.miss { background: linear-gradient(150deg, rgba(200,67,58,.55), rgba(110,28,28,.55)); border-color: rgba(255,150,140,.6); }
.cal-d.off, .cal-d.future { opacity: .45; }
.cal-d.pending { border-style: dashed; }
.cal-d.today { outline: 2px solid #ffd54f; outline-offset: 1px; }
.seg { display: inline-flex; border: 1px solid rgba(255,255,255,.3); border-radius: 10px; overflow: hidden; }
.seg button { font: inherit; color: #fff; background: rgba(255,255,255,.06); border: 0; padding: 7px 18px; cursor: pointer; }
.seg button.on { background: rgba(40,110,200,.7); font-weight: bold; }
.page-head h1 { margin-bottom: 4px; }
@media (max-width: 700px) { .cal-h { font-size: 10px; } .cal-d { min-height: 52px; } .cal-d b { font-size: 14px; } .cal-d small { font-size: 10px; } .cal-grid { gap: 4px; } }
@media print { .tabs { display: none !important; } section[hidden] { display: block !important; } }

/* الأسابيع الجاية */
.la-banner { display: flex; align-items: center; gap: 14px; padding: 12px 16px; margin: 6px 0 4px; color: inherit; text-decoration: none; transition: transform .15s, border-color .15s; }
.la-banner:hover { transform: translateY(-3px); border-color: rgba(255,255,255,.55); }
.la-banner img { width: 44px; height: 44px; border-radius: 12px; background: linear-gradient(160deg, #f6fcff, #b4dbf6); padding: 6px; box-shadow: inset 0 2px 0 #fff, 0 6px 12px -2px rgba(0,0,0,.5); }
.la-banner .t { flex: 1; display: flex; flex-direction: column; gap: 3px; } .la-banner .t b { font-size: 16px; } .la-banner .t span { font-size: 13px; color: var(--muted); } .la-banner em { font-style: normal; font-weight: bold; }
.la-banner .chev { font-size: 26px; color: var(--muted); }
.row.la { border-inline-start: 4px solid rgba(255,255,255,.25); }
.row.la.crit { border-inline-start-color: #ff6b61; background: rgba(200, 67, 58, .16); }
.empty.small { padding: 10px; font-size: 13px; }
.row.la .main > span b, .row.la .main > span strong { display: inline; }
body.nb .section-title { color: #dbe7f6; text-shadow: 0 1px 5px rgba(0, 0, 0, .85); }

/* Gantt */
.gantt-wrap { overflow-x: auto; }
.gantt { min-width: 780px; }
.g-head, .g-row { display: flex; align-items: stretch; }
.g-lab { flex: none; width: var(--lab, 230px); padding: 0 6px; font-size: 13.5px; display: flex; align-items: center; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.g-head .g-lab { color: var(--muted); font-size: 13px; }
.g-axis { position: relative; flex: 1; height: 26px; border-bottom: 1px solid rgba(255,255,255,.3); }
.g-axis span { position: absolute; top: 3px; padding-right: 5px; font-size: 11.5px; color: var(--muted); white-space: nowrap; }
.g-body { position: relative; }
.g-over { position: absolute; top: 0; bottom: 0; left: 0; right: var(--lab, 230px); pointer-events: none; }
.g-gl { position: absolute; top: 0; bottom: 0; width: 1px; background: rgba(255,255,255,.1); }
.g-today { position: absolute; top: 0; bottom: 0; width: 0; border-right: 2px dashed #ffd54f; z-index: 3; }
.g-today b { position: absolute; top: -2px; right: 4px; font-size: 11px; color: #ffd54f; text-shadow: 0 1px 3px #000; }
.g-row { height: 40px; border-bottom: 1px solid rgba(255,255,255,.07); }
.g-row:hover { background: rgba(255,255,255,.04); }
.g-track { position: relative; flex: 1; }
.g-bar {
  position: absolute; top: 9px; height: 22px; border-radius: 8px; overflow: hidden; z-index: 2;
  background: rgba(143,184,255,.28); border: 1px solid rgba(143,184,255,.75);
  box-shadow: 0 4px 8px -3px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.2);
}
.g-fill { position: absolute; right: 0; top: 0; bottom: 0; background: linear-gradient(270deg, #1e5aa8, #3fa9f5); box-shadow: inset 0 1px 0 rgba(255,255,255,.3); }
.g-bar span { position: relative; z-index: 1; display: block; text-align: center; line-height: 20px; font-size: 11.5px; font-weight: bold; color: #fff; text-shadow: 0 1px 3px rgba(0,0,0,.8); }
.g-bar.late { border-color: #ff6b61; background: rgba(255,107,97,.25); }
.g-bar.late .g-fill { background: linear-gradient(270deg, #b83a32, #ff6b61); }
.g-bar.done { border-color: #5cc888; } .g-bar.done .g-fill { background: linear-gradient(270deg, #1f7a45, #2e9e5a); }
.g-bar.approx { border-style: dashed; }
@media print { .gantt-wrap { overflow: visible; } .gantt { min-width: 0; } }

/* كانبان المعوقات */
.kanban { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: start; margin-top: 14px; }
.kcol { border-radius: 18px; padding: 10px; border: 1px solid rgba(255,255,255,.18); background: rgba(8, 22, 50, .35); backdrop-filter: blur(6px); min-height: 160px; transition: border-color .15s, background .15s; }
.kcol header { display: flex; justify-content: space-between; align-items: center; padding: 6px 8px 10px; font-size: 15px; }
.kcol.open header b { color: #ffcf8a; } .kcol.progress header b { color: #7cc4ff; } .kcol.resolved header b { color: #8fe3a8; }
.kcount { min-width: 28px; text-align: center; padding: 2px 9px; border-radius: 999px; background: rgba(255,255,255,.12); font-weight: bold; font-size: 13px; }
.kbody { display: flex; flex-direction: column; gap: 12px; }
.kcol.over { border-color: #ffd54f; background: rgba(40, 80, 150, .35); }
.kcol .obs { cursor: grab; }
.kcol .obs.dragging { opacity: .45; }
.kcol .obs.open { border-inline-start: 4px solid #ffb74d; }
.kcol .obs.progress { border-inline-start: 4px solid #3fa9f5; }
.kcol .obs.resolved { border-inline-start: 4px solid #2e9e5a; opacity: .88; }
.kempty { text-align: center; color: var(--muted); font-size: 13px; padding: 22px 0; border: 1px dashed rgba(255,255,255,.2); border-radius: 12px; }
@media (max-width: 1000px) { .kanban { grid-template-columns: 1fr; } }
.pill.prog { background: rgba(63,169,245,.2); color: #8fd0ff; border: 1px solid rgba(63,169,245,.55); }
.stats.four .st-blue, .st-blue { color: #7cc4ff; }

/* كانبان المعوقات */
.kb { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; align-items: start; }
.kb-col { border-radius: 18px; border: 1px solid rgba(255,255,255,.18); border-top-color: rgba(255,255,255,.38); background: rgba(8, 22, 50, .38); backdrop-filter: blur(8px); padding: 10px; transition: background .15s, border-color .15s; min-height: 160px; }
.kb-col.over { background: rgba(40, 110, 200, .30); border-color: #7cc4ff; }
.kb-col header { display: flex; justify-content: space-between; align-items: center; padding: 4px 6px 10px; border-bottom: 3px solid var(--kc, #ffb74d); margin-bottom: 10px; }
.kb-col header b { font-size: 16px; } .kb-n { min-width: 28px; text-align: center; padding: 2px 8px; border-radius: 999px; font-weight: bold; background: rgba(255,255,255,.14); }
.kb-col.c-open { --kc: #ffb74d; } .kb-col.c-progress { --kc: #5aa9ff; } .kb-col.c-done { --kc: #4cc27f; }
.kb-body { display: flex; flex-direction: column; gap: 10px; max-height: 68vh; overflow-y: auto; padding: 2px; }
.kb-empty { text-align: center; color: var(--muted); padding: 22px 0; font-size: 13px; }
.kb-card { cursor: grab; padding: 12px 14px; gap: 7px; }
.kb-card.dragging { opacity: .45; transform: scale(.98); }
.kb-card .obs-actions .btn { padding: 5px 10px; font-size: 12.5px; }
.kb-card .obs-desc { font-size: 13.5px; line-height: 1.7; }
@media (max-width: 1000px) { .kb { grid-template-columns: 1fr; } .kb-body { max-height: none; } }

/* مؤشر صحة المشروع */
.hdot { display: inline-block; width: 11px; height: 11px; border-radius: 50%; margin-inline-end: 8px; vertical-align: middle; background: #8896ab; box-shadow: 0 0 0 3px rgba(255,255,255,.12), 0 0 10px currentColor; color: #8896ab; }
.hdot.h-green { background: #3fd37a; color: #3fd37a; } .hdot.h-yellow { background: #ffc94d; color: #ffc94d; } .hdot.h-red { background: #ff5f55; color: #ff5f55; } .hdot.h-gray { background: #8896ab; color: #8896ab; }
.pcard { border-inline-start: 5px solid #8896ab; }
.pcard.h-green { border-inline-start-color: #3fd37a; } .pcard.h-yellow { border-inline-start-color: #ffc94d; } .pcard.h-red { border-inline-start-color: #ff5f55; }
.health-row { margin-top: 12px; }
.page-head p .hdot { margin-inline-end: 6px; }

/* التقويم العام */
.cal-d.cg { min-height: 88px; justify-content: flex-start; padding: 7px 4px; cursor: pointer; transition: transform .12s, border-color .12s; }
.cal-d.cg:hover { transform: translateY(-3px); border-color: rgba(255,255,255,.55); }
.cal-d.cg.sel { outline: 2px solid #7cc4ff; outline-offset: 1px; background: rgba(60, 120, 210, .28); }
.cal-d.cg.off, .cal-d.cg.future { opacity: .55; }
.dcs { display: flex; flex-wrap: wrap; gap: 4px; justify-content: center; margin-top: 4px; }
.dc { font-size: 11.5px; padding: 1px 7px; border-radius: 999px; border: 1px solid rgba(255,255,255,.25); background: rgba(255,255,255,.08); white-space: nowrap; }
.dc.ok { background: rgba(46,160,90,.45); border-color: rgba(143,227,168,.7); }
.dc.mid { background: rgba(230,170,40,.40); border-color: rgba(255,207,138,.8); }
.dc.bad { background: rgba(200,67,58,.50); border-color: rgba(255,150,140,.8); }
.dc.due { background: rgba(63,169,245,.28); border-color: rgba(124,196,255,.75); } .dc.due.late { background: rgba(200,67,58,.40); border-color: rgba(255,150,140,.8); }
.legend .c-mid { background: #d9a03a; height: 12px; width: 12px; border-radius: 4px; }
a.row.due-row { color: inherit; text-decoration: none; display: flex; }
@media (max-width: 700px) { .cal-d.cg { min-height: 64px; } .dc { font-size: 9.5px; padding: 0 4px; } }

/* ===== جرس التنبيهات ===== */
.bell-wrap { position: relative; flex: none; }
.bell-btn { position: relative; width: 42px; height: 42px; border-radius: 12px; cursor: pointer; font-size: 18px; line-height: 1;
  border: 1px solid rgba(255,255,255,.26); background: rgba(255,255,255,.07); color: #fff; }
.bell-btn:hover, .bell-btn[aria-expanded="true"] { background: rgba(255,255,255,.16); }
.bell-btn.has .bell-ic { display: inline-block; animation: bellring 2.4s ease-in-out 1; transform-origin: 50% 10%; }
@keyframes bellring { 0%,100% { transform: rotate(0) } 10%,30% { transform: rotate(14deg) } 20%,40% { transform: rotate(-14deg) } 50% { transform: rotate(0) } }
.bell-badge { position: absolute; top: -6px; inset-inline-start: -6px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 10px;
  background: #e53935; color: #fff; font-size: 11px; line-height: 20px; text-align: center; box-shadow: 0 2px 6px rgba(0,0,0,.4); }
.bell-panel { position: absolute; top: calc(100% + 10px); inset-inline-end: 0; z-index: 60; width: min(380px, 92vw); max-height: 70vh; display: flex; flex-direction: column;
  border-radius: 14px; background: rgba(10,30,62,.97); border: 1px solid rgba(255,255,255,.22); box-shadow: 0 18px 44px rgba(0,0,0,.55); color: #fff; overflow: hidden; }
.bell-panel[hidden] { display: none; }
.bell-h { display: flex; justify-content: space-between; align-items: center; padding: 12px 14px; border-bottom: 1px solid rgba(255,255,255,.14); }
.bell-rf { background: none; border: 0; color: var(--accent); cursor: pointer; font: inherit; font-size: 13px; }
.bell-body { overflow: auto; padding: 6px 0; }
.bell-g { padding: 8px 14px 4px; font-size: 12px; color: var(--muted); font-weight: bold; }
.bell-it { display: flex; gap: 10px; padding: 9px 14px; color: #fff; text-decoration: none; align-items: flex-start; }
.bell-it:hover { background: rgba(255,255,255,.09); }
.bell-it div { display: flex; flex-direction: column; gap: 2px; font-size: 13px; }
.bell-it span { color: #cfd9ea; font-size: 12.5px; }
.bell-dot { flex: none; width: 10px; height: 10px; margin-top: 5px; border-radius: 50%; background: #fb8c00; }
.bell-it.red .bell-dot { background: #e53935; }
.bell-empty { padding: 22px 14px; text-align: center; color: var(--muted); }
.bell-f { padding: 8px 14px; font-size: 11.5px; color: var(--muted); border-top: 1px solid rgba(255,255,255,.1); text-align: center; }
@media (max-width: 899px) { .bell-wrap { margin-inline-start: 8px; } .bell-panel { inset-inline-end: auto; inset-inline-start: -4px; } }
@media print { .bell-wrap { display: none; } }

/* ===== معالج التقرير اليومي: بيانات ثابتة فوق + قايمة أقسام على اليمين + التالي ===== */
.wiz { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 16px; align-items: start; margin-bottom: 24px; }
.wiz-rail { display: flex; flex-direction: column; gap: 8px; position: sticky; top: 110px; }
.wiz-tab { display: flex; align-items: center; gap: 10px; width: 100%; padding: 11px 12px; border-radius: 12px; cursor: pointer; font: inherit; font-size: 14px; color: #fff; text-align: start;
  border: 1px solid rgba(255,255,255,.2); background: rgba(10,30,62,.55); backdrop-filter: blur(6px); transition: background .12s, border-color .12s, transform .12s; }
.wiz-tab:hover { background: rgba(255,255,255,.12); }
.wiz-tab i { flex: none; width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; font-style: normal; font-size: 13px; font-weight: bold; background: rgba(255,255,255,.14); }
.wiz-tab span { flex: 1; }
.wiz-tab em { flex: none; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px; font-style: normal; font-size: 12px; line-height: 22px; text-align: center; background: rgba(76,175,80,.28); color: #a5d6a7; }
.wiz-tab em:empty { display: none; }
.wiz-tab.on { background: linear-gradient(135deg, #1e6fd0, #17a2c8); border-color: rgba(255,255,255,.7); box-shadow: 0 8px 20px rgba(0,0,0,.4); transform: translateX(-4px); }
.wiz-tab.on i { background: rgba(255,255,255,.28); }
.wiz-tab.done i { background: #2e7d32; }
.wiz-tab.seen i { background: rgba(255,213,79,.35); }
.wiz-step[hidden] { display: none; }
.wiz-nav { display: flex; align-items: center; gap: 12px; margin-top: 14px; }
.wiz-nav .btn { width: auto; min-width: 130px; margin: 0; }
.wiz-nav .btn:disabled { opacity: .4; cursor: default; }
.wiz-nav .btn[hidden] { display: none; }
.wiz-pos { flex: 1; text-align: center; font-size: 13px; color: var(--muted); }
.wiz-nav #btnSubmit { margin-inline-start: auto; min-width: 200px; }
@media (max-width: 899px) {
  .wiz { grid-template-columns: 1fr; gap: 10px; }
  .wiz-rail { flex-direction: row; overflow-x: auto; position: static; padding-bottom: 4px; gap: 6px; scrollbar-width: thin; }
  .wiz-tab { width: auto; flex: none; padding: 8px 10px; font-size: 13px; }
  .wiz-tab.on { transform: none; }
  .wiz-nav { flex-wrap: wrap; } .wiz-pos { order: -1; flex-basis: 100%; }
  .wiz-nav .btn { flex: 1; }
}
@media (min-width: 1100px) { .wiz-top .info-grid { grid-template-columns: repeat(5, 1fr); } }

/* ===== مقاولو الباطن ===== */
.stats.three { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 700px) { .stats.three { grid-template-columns: 1fr 1fr; } }
.sub-card { padding: 14px 16px; margin-bottom: 10px; }
.sub-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; margin-bottom: 8px; }
.sub-head .main { display: flex; flex-direction: column; gap: 3px; }
.sub-head .main span { color: var(--muted); font-size: 13px; }
.sub-n { text-align: center; } .sub-n b { display: block; font-size: 22px; } .sub-n small { color: var(--muted); }
.sub-card.open { border-color: rgba(255,255,255,.55); }
.sub-detail { margin-top: 12px; }
.sub-detail .tbl-wrap { overflow-x: auto; }
.tbl tr.clickable { cursor: pointer; } .tbl tr.clickable:hover { background: rgba(255,255,255,.08); }

/* ===== القايمة الجانبية ===== */
.sn-btn { display: none; }
.sidenav { position: fixed; top: 92px; inset-inline-start: max(20px, calc((100vw - 1560px) / 2 + 16px)); width: 210px; z-index: 15; display: flex; flex-direction: column; gap: 14px;
  padding: 14px 10px; border-radius: 16px; background: linear-gradient(180deg, rgba(12,34,70,.82), rgba(8,24,52,.82)); backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.18); box-shadow: 0 12px 30px rgba(0,0,0,.4); }
.sn-g { display: flex; flex-direction: column; gap: 3px; }
.sn-g + .sn-g { padding-top: 4px; }
.sn-t { display: flex; align-items: center; gap: 11px; padding: 10px 12px; font-size: 14.5px; font-weight: bold; color: #fff; border-radius: 10px; background: rgba(255,255,255,.05); }
.sn-t svg { color: #7cc4ff; }
.sn-g.sub { gap: 2px; }
.sn-g.sub > a { margin-inline-start: 16px; padding: 8px 12px 8px 10px; font-size: 13.5px; border-radius: 8px; border-inline-start: 1px solid rgba(255,255,255,.14); border-start-start-radius: 0; border-end-start-radius: 0; }
.sn-g.sub > a svg { width: 16px; height: 16px; }
.sn-g.sub > a.on::before { inset-inline-start: -2px; inset-block: 6px; }
.sidenav a { position: relative; display: flex; align-items: center; gap: 11px; padding: 10px 12px; border-radius: 10px; color: #d6e1f2; text-decoration: none; font-size: 14.5px; transition: background .12s, color .12s; }
.sidenav a svg { flex: none; opacity: .85; }
.sidenav a:hover { background: rgba(255,255,255,.09); color: #fff; }
.sidenav a.on { background: rgba(60,140,230,.22); color: #fff; font-weight: bold; }
.sidenav a.on svg { opacity: 1; color: #7cc4ff; }
.sidenav a.on::before { content: ""; position: absolute; inset-block: 8px; inset-inline-start: -10px; width: 4px; border-radius: 4px; background: #4aa3ff; }
.sn-badge { margin-inline-start: auto; min-width: 22px; height: 20px; padding: 0 6px; border-radius: 10px; background: #e53935; color: #fff; font-size: 11.5px; line-height: 20px; text-align: center; }
.sn-badge[hidden] { display: none; }
.sn-scrim { display: none; }
@media (min-width: 1100px) { body.has-nav .page { padding-inline-start: 236px; } }
@media (max-width: 1099px) {
  .sn-btn { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 10px; cursor: pointer; font-size: 20px; color: #fff;
    border: 1px solid rgba(255,255,255,.3); background: rgba(255,255,255,.08); flex: none; }
  .sidenav { top: 0; bottom: 0; inset-inline-start: 0; width: min(270px, 82vw); border-radius: 0; padding-top: 20px; transform: translateX(100%); transition: transform .2s; z-index: 70; background: rgba(8,24,52,.98); overflow-y: auto; }
  .sidenav a.on::before { inset-inline-start: -6px; }
  body.sn-open .sidenav { transform: none; }
  body.sn-open .sn-scrim { display: block; position: fixed; inset: 0; z-index: 65; background: rgba(0,0,0,.5); }
}
@media print { .sidenav, .sn-btn { display: none; } body.has-nav .page { padding-inline-start: 0; } }
.mob-only { display: block; }
@media (min-width: 1100px) { .mob-only { display: none; } }

/* ===== تظبيط التناسق: الشعار والقائمة الجانبية عمود واحد + كروت أصغر ===== */
@media (min-width: 900px) {
  /* 2026-10-08: شريط أنحف (76px) ولوجو الشركة أفقي: الرمز يمين والاسم جنبه */
  body.nb .topbar { height: 76px; }
  body.nb .page { padding-top: 98px; }
  body.nb .topbar::before {                  /* عرضه = عرض القايمة الجانبية عشان يبقوا على استقامة واحدة */
    width: 210px; height: 66px; margin-inline-end: 0; padding: 6px 12px; box-sizing: border-box;
    background: url("../img/company_logo_h.png") center / contain no-repeat; background-origin: content-box;
  }
}
@media (min-width: 1100px) {
  .sidenav { top: 92px; }
  body.has-nav .page { padding-inline-start: 246px; }
  .wiz-rail { top: 96px; }
  /* كروت أصغر وأهدى مقارنة بالقائمة */
  body.has-nav .stats { gap: 10px; margin-bottom: 10px; }
  body.has-nav .stat { padding: 9px 12px; }
  body.has-nav .stat span { font-size: 12px; }
  body.has-nav .stat b { font-size: 22px; margin-top: 2px; }
  body.has-nav .stats.four .stat span { min-height: 0; }
  body.has-nav .pgrid { grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 12px; }
  body.has-nav .pcard { padding: 12px 14px 10px; }
  body.has-nav .pc-head b { font-size: 15px; }
  body.has-nav .pc-head .pct { font-size: 21px; }
  body.has-nav .pcard .pbar { height: 10px; margin: 8px 0 6px; }
  body.has-nav .pc-sub { font-size: 12px; }
  body.has-nav .pc-chips { margin: 8px 0 6px; }
  body.has-nav .pc-foot { font-size: 11.5px; }
  body.has-nav .sec > summary, body.has-nav .la-banner { padding: 10px 14px; }
  body.has-nav .sec > summary > img { width: 38px; height: 38px; }
  body.has-nav .menu-card { padding: 10px 14px; }
  body.has-nav .page-head h1 { font-size: 24px; }
  body.has-nav .panel { padding: 12px 14px; margin-bottom: 10px; }
}
@media print { body.has-nav .page { padding-inline-start: 0; } }

/* ===== داش بورد الإحصائيات ===== */
.vz-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px; }
@media (max-width: 899px) { .vz-grid2 { grid-template-columns: 1fr; } }
.vz-card { margin-bottom: 0; }
.vz-card .panel-title { font-size: 15px; }
.stat.kpi small { display: block; color: var(--muted); font-size: 11.5px; margin-top: 2px; }
.stats.five { grid-template-columns: repeat(5, 1fr); }
@media (max-width: 899px) { .stats.five { grid-template-columns: 1fr 1fr; } }
.vz-row { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.vz-donut { width: 170px; height: 170px; flex: none; }
.vz-big { font-size: 24px; font-weight: bold; fill: #fff; } .vz-sm { font-size: 9px; fill: #b6c5dc; }
.vz-leg { display: flex; flex-direction: column; gap: 8px; font-size: 13.5px; }
.vz-card > .vz-leg { flex-direction: row; flex-wrap: wrap; gap: 6px 16px; margin: 8px 0 4px; }
.vz-leg span { display: flex; align-items: center; gap: 8px; } .vz-leg i { width: 11px; height: 11px; border-radius: 3px; flex: none; } .vz-leg b { margin-inline-start: 2px; }
.vz-stack { display: flex; gap: 2px; height: 22px; border-radius: 6px; overflow: hidden; margin-top: 4px; } .vz-stack span { min-width: 6px; }
.vz-sub { margin: 14px 0 6px; font-size: 12.5px; color: var(--muted); }
.vz-bars { width: 100%; height: auto; display: block; }
.vz-grid { stroke: rgba(255,255,255,.1); stroke-width: 1; } .vz-ax { font-size: 11px; fill: #9fb0cb; }
.vz-hit { cursor: default; } .vz-hit:hover { filter: brightness(1.25); }
.vz-proj { display: flex; flex-direction: column; gap: 4px; max-height: 340px; overflow: auto; padding-inline-end: 4px; }
.vz-pr { display: grid; grid-template-columns: 12px minmax(90px, 160px) 1fr 42px; align-items: center; gap: 10px; padding: 6px 4px; border-radius: 8px; color: inherit; text-decoration: none; font-size: 13.5px; }
.vz-pr:hover { background: rgba(255,255,255,.07); } .vz-pr b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: normal; } .vz-pr em { font-style: normal; text-align: end; font-weight: bold; }
.vz-pr .pbar { margin: 0; height: 10px; }
.vz-note { margin-top: 8px; font-size: 12px; color: var(--muted); }
.vz-tip { position: fixed; z-index: 90; pointer-events: none; padding: 6px 10px; border-radius: 8px; background: rgba(6,18,40,.96); border: 1px solid rgba(255,255,255,.25); font-size: 12.5px; color: #fff; box-shadow: 0 8px 20px rgba(0,0,0,.5); }
.vz-tip[hidden] { display: none; }
@media print { .vz-tip { display: none; } .vz-proj { max-height: none; } }

/* تقويم أصغر */
.cal-grid { gap: 5px; }
.cal-d.cg { min-height: 58px; padding: 5px 3px; }
.cal-d.cg b { font-size: 14px; }
.dc { font-size: 10.5px; padding: 0 6px; }
.cal-d { min-height: 50px; }
.cal-d b { font-size: 15px; }
@media (min-width: 900px) { #result .cal-grid { max-width: 880px; margin-inline: auto; } }

/* ===== شاشة التقرير اليومي + القايمة الموحدة ===== */
.sn-steps .sn-step { position: relative; display: flex; align-items: center; gap: 9px; width: calc(100% - 16px); margin-inline-start: 16px; padding: 7px 10px; border-radius: 8px; cursor: pointer; font: inherit; font-size: 13px; color: #d6e1f2;
  background: none; border: 0; border-inline-start: 1px solid rgba(255,255,255,.14); border-start-start-radius: 0; border-end-start-radius: 0; text-align: start; }
.sn-step:hover { background: rgba(255,255,255,.09); color: #fff; }
.sn-step i { flex: none; width: 21px; height: 21px; border-radius: 50%; display: grid; place-items: center; font-style: normal; font-size: 11.5px; font-weight: bold; background: rgba(255,255,255,.14); }
.sn-step span { flex: 1; } .sn-step sup { color: #ff8a80; }
.sn-step em { flex: none; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 10px; font-style: normal; font-size: 11.5px; line-height: 20px; text-align: center; background: rgba(76,175,80,.28); color: #a5d6a7; }
.sn-step em:empty { display: none; }
.sn-step.on { background: rgba(60,140,230,.22); color: #fff; font-weight: bold; } .sn-step.on i { background: #1e6fd0; }
.sn-step.done i { background: #2e7d32; } .sn-step.seen i { background: rgba(255,213,79,.4); }
.wiz-progress { padding: 10px 16px; margin-bottom: 12px; }
.wp-t { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 6px; font-size: 14px; } .wp-t span { color: #ffb74d; font-size: 12.5px; }
.wiz-progress .pbar { margin: 0; height: 9px; }
.step-hint { margin: -2px 0 12px; color: var(--muted); font-size: 13px; }
.wiz-review { margin-top: 16px; padding-top: 14px; border-top: 1px dashed rgba(255,255,255,.2); }
.wiz-review h4 { margin: 0 0 10px; font-size: 14.5px; }
.rv-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; }
.rv { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 9px 12px; border-radius: 10px; cursor: pointer; font: inherit; font-size: 13px; color: #fff; border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.06); }
.rv.ok { border-color: rgba(143,227,168,.55); background: rgba(46,160,90,.2); } .rv.bad { border-color: rgba(255,138,128,.7); background: rgba(200,67,58,.25); }
.rv:hover { background: rgba(255,255,255,.14); }
.rv-note { margin: 10px 0 0; font-size: 13.5px; color: var(--muted); }
@media (min-width: 1100px) {
  body.has-nav .wiz { grid-template-columns: 1fr; }
  /* أقسام التقرير: تبويبات أفقية بالأعلى (مش في القايمة الجانبية) */
  body.has-nav .wiz-rail { flex-direction: row; gap: 8px; position: sticky; top: 84px; z-index: 9; padding: 8px; margin-bottom: 4px; border-radius: 14px;
    background: rgba(8, 26, 56, .86); backdrop-filter: blur(8px); border: 1px solid rgba(255, 255, 255, .14); }
  body.has-nav .wiz-tab { flex: 1; width: auto; justify-content: center; }
  body.has-nav .wiz-tab.on { transform: none; }
  body.has-nav .wiz-top .info-grid { grid-template-columns: repeat(5, 1fr); }
}
@media (max-width: 1099px) { .sn-steps { display: none; } }

/* ===== شاشات إتقان ونظم (كمبيوتر) ===== */
.desk-only { display: none; }
@media (min-width: 1100px) { .desk-only { display: block; } }
.it-hello { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.it-hello h2 { margin: 0 0 4px; font-size: 20px; } .it-hello p { margin: 0; color: var(--muted); font-size: 13.5px; }
.it-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 12px; margin-bottom: 8px; border-radius: 12px; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.05); }
.it-row.clickable { cursor: pointer; } .it-row.clickable:hover { background: rgba(255,255,255,.1); }
.it-row.ok { border-color: rgba(143,227,168,.4); }
.it-row .main { display: flex; flex-direction: column; gap: 3px; min-width: 0; } .it-row .main span { color: var(--muted); font-size: 12.5px; }
.it-act { display: flex; gap: 8px; flex: none; } .it-act .btn { margin: 0; text-decoration: none; }
.it-dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-inline-end: 7px; background: #8896ab; }
.it-dot.ok { background: #3fd37a; } .it-dot.bad { background: #ffb74d; } .it-dot.off { background: #8896ab; }
.ad-table td, .ad-table th { white-space: nowrap; } .ad-c { min-width: 110px; } .ad-c small { color: var(--muted); font-size: 11.5px; }

/* ===== المهام الروتينية اليومية (داخل التقرير) ===== */
.chk-roles { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 12px; }
.chk-role { display: flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 12px; cursor: pointer; font: inherit; color: inherit; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.16); }
.chk-role b { font-size: 12px; padding: 2px 8px; border-radius: 999px; background: rgba(255,255,255,.12); }
.chk-role.on { background: rgba(60,140,255,.28); border-color: rgba(120,180,255,.7); }
.chk-role.full b { background: rgba(63,211,122,.28); color: #8fe3a8; }
.chk-role.off { opacity: .6; }
.chk-head { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
.chk-head .chk-count { color: var(--muted); font-size: 13px; margin-inline-start: auto; }
.chk-absent { display: flex; align-items: center; gap: 8px; font-size: 13.5px; cursor: pointer; }
.chk-slot { margin-bottom: 12px; }
.chk-slot h4 { margin: 0 0 6px; font-size: 13px; color: var(--muted); font-weight: 600; }
.chk-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 9px 12px; margin-bottom: 6px; border-radius: 12px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.04); }
.chk-row.yes { border-color: rgba(63,211,122,.45); background: rgba(63,211,122,.07); }
.chk-row.no { border-color: rgba(255,120,100,.5); background: rgba(255,120,100,.07); }
.chk-t { flex: 1 1 240px; line-height: 1.6; }
.chk-btns { display: flex; gap: 6px; flex: none; }
.chk-b { padding: 7px 14px; border-radius: 10px; font: inherit; cursor: pointer; color: inherit; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.2); }
.chk-b.yes[aria-pressed="true"] { background: #1f9d57; border-color: #3fd37a; color: #fff; }
.chk-b.no[aria-pressed="true"] { background: #c4432f; border-color: #ff8a73; color: #fff; }
.chk-note { flex: 1 1 100%; }
.chk-sum { margin-top: 10px; color: var(--muted); font-size: 13px; }
.chk-absent input { width: auto; flex: none; margin: 0; }

/* ===== محرر القوائم + الموارد البشرية ===== */
.ck-slot { padding: 12px; margin-bottom: 10px; border-radius: 12px; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.04); }
.ck-slot-h { display: flex; align-items: flex-end; gap: 10px; flex-wrap: wrap; margin-bottom: 8px; }
.ck-slot-h label { flex: 1 1 220px; font-size: 13px; color: var(--muted); }
.ck-slot textarea { width: 100%; min-height: 70px; }
.pfill.pf-g { background: linear-gradient(90deg, #1f9d57, #3fd37a); } .pfill.pf-y { background: linear-gradient(90deg, #c99a1f, #f0c53d); } .pfill.pf-r { background: linear-gradient(90deg, #c4432f, #ff8a73); }
.hr-bar { display: grid; grid-template-columns: minmax(110px, 190px) 1fr 74px; gap: 10px; align-items: center; margin-bottom: 9px; font-size: 13.5px; }
.hr-bar b { text-align: start; } .hr-bar small { color: var(--muted); display: block; font-size: 11.5px; }
.hr-reason { display: flex; justify-content: space-between; gap: 10px; padding: 7px 0; border-bottom: 1px solid rgba(255,255,255,.08); font-size: 13.5px; }
.hr-line { stroke: #3987e5; stroke-width: 2.4; fill: none; } .hr-dot { fill: #3987e5; stroke: #0b1b3a; stroke-width: 1.5; }
@media (max-width: 700px) { .hr-bar { grid-template-columns: 1fr 64px; } .hr-bar .pbar { grid-column: 1 / -1; order: 3; } }

/* عنوان القسم الحالي أعلى القايمة الجانبية (موحّد في كل الأقسام) */
.sn-sec { display: flex; align-items: center; text-align: center; flex-direction: column; gap: 2px; padding: 4px 12px 10px; margin-bottom: 8px; border-bottom: 1px solid rgba(255,255,255,.12); }
.sn-sec span { font-size: 11.5px; color: var(--muted); }
.sn-sec b { font-size: 15px; color: #fff; text-align: center; }
.sn-step span { white-space: nowrap; }
html { scroll-behavior: smooth; }
#roles, #sites, #tasks, #people, #safety { scroll-margin-top: 96px; }

/* ===== اعتماد التقارير ===== */
.ap-chip { display: inline-block; padding: 2px 10px; border-radius: 999px; font-size: 12px; font-weight: bold; border: 1px solid transparent; }
.ap-chip.ap-ok { background: rgba(63,211,122,.18); color: #8fe3a8; border-color: rgba(63,211,122,.4); }
.ap-chip.ap-bad { background: rgba(255,120,100,.16); color: #ffab9b; border-color: rgba(255,120,100,.45); }
.ap-chip.ap-pending { background: rgba(240,197,61,.15); color: #f3d77a; border-color: rgba(240,197,61,.4); }
.ap-box { margin-top: 14px; padding: 12px; border-radius: 12px; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.05); }
.ap-box label { display: block; font-size: 13px; color: var(--muted); } .ap-box textarea { width: 100%; margin-top: 6px; }
.ap-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
.ap-tabs button { padding: 8px 14px; border-radius: 10px; font: inherit; color: inherit; cursor: pointer; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.16); }
.ap-tabs button.on { background: rgba(60,140,255,.28); border-color: rgba(120,180,255,.7); }
.ap-tabs b { margin-inline-start: 6px; padding: 1px 8px; border-radius: 999px; background: rgba(240,197,61,.25); font-size: 12px; }
.ap-returned { padding: 12px 14px; margin-bottom: 12px; border-radius: 12px; border: 1px solid rgba(255,120,100,.5); background: rgba(255,120,100,.1); }
.ap-returned a { color: #ffd2c8; }
@media print { .ap-box, .modal .actions { display: none !important; } }

/* شريط "مفيش إنترنت" */
.offline-pill { position: fixed; z-index: 60; bottom: 14px; inset-inline-start: 50%; transform: translateX(50%); padding: 8px 16px; border-radius: 999px; background: #8a5a00; color: #fff; font-size: 13px; font-weight: bold; box-shadow: 0 6px 18px rgba(0,0,0,.35); }
.offline-pill[hidden] { display: none; }
.wx { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 10px; padding: 9px 12px; border-radius: 12px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12); font-size: 13.5px; }
.wx .wx-l { color: var(--muted); } .wx b { margin-inline-end: auto; } .wx select { width: auto; min-width: 150px; }
.sub-title { margin: 6px 0 8px; font-size: 14px; color: #cfe0ff; }

/* ===== ملاحظات التسليم ===== */
.pl-card { padding: 12px 14px; margin-bottom: 10px; }
.pl-card.late { border-color: rgba(255,120,100,.55) !important; }
.pl-head { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; flex-wrap: wrap; }
.pl-head .main { display: flex; flex-direction: column; gap: 3px; } .pl-head .main span { color: var(--muted); font-size: 12.5px; }
.pl-chips { display: flex; gap: 6px; flex-wrap: wrap; }
.pl-meta { margin-top: 6px; font-size: 13px; color: #d5e2f5; }
#pAdd > form { padding: 12px 16px 16px; margin: 0; }

/* ===== تقييم المقاولين ===== */
.rt-card { padding: 12px 14px; margin-bottom: 10px; border-radius: 12px; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.04); }
.rt-h { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; } .rt-h b { font-size: 15px; }
.rt-row { display: grid; grid-template-columns: minmax(150px, 220px) auto 1fr; align-items: center; gap: 10px; padding: 4px 0; font-size: 13.5px; }
.rt-row em { color: var(--muted); font-style: normal; font-size: 12.5px; }
.rt-stars { display: flex; gap: 5px; direction: ltr; }
.rt-b { width: 34px; height: 32px; border-radius: 8px; font: inherit; font-weight: bold; cursor: pointer; color: #cfe0ff; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.2); }
.rt-b.fill { background: rgba(240,197,61,.28); border-color: rgba(240,197,61,.6); color: #fff; }
.rt-b.on { background: #c99a1f; border-color: #f0c53d; }
.rt-note { width: 100%; margin-top: 8px; }
.rt-add { display: flex; gap: 8px; margin-top: 6px; } .rt-add input { flex: 1; }
@media (max-width: 700px) { .rt-row { grid-template-columns: 1fr auto; } .rt-row em { display: none; } .rt-b { width: 38px; height: 36px; } }
.ev-c { display: flex; flex-direction: column; gap: 4px; min-width: 90px; }
.ev-table tr.on td { background: rgba(60,140,255,.12); }
.ev-detail td { background: rgba(255,255,255,.03); }
.ev-d { padding: 6px 2px; white-space: normal; }
.eval-print { display: none; }
@media print {
  body.printing-eval > *:not(#evalPrint) { display: none !important; }
  body.printing-eval #evalPrint { display: block !important; }
  body.printing-eval { background: #fff !important; }
}
.ep { color: #10213f; font-family: "Tajawal", sans-serif; font-size: 12.5px; padding: 10mm; background: #fff; }
.ep-h { display: flex; justify-content: space-between; align-items: center; border-bottom: 3px solid #1d3b6e; margin-bottom: 10px; }
.ep-h h1 { margin: 0; font-size: 20px; color: #1d3b6e; } .ep-h p { margin: 4px 0 8px; }
.ep-h img { height: 60px; padding: 6px 10px; border-radius: 8px; background: #10213f; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.ep h3 { margin: 12px 0 4px; font-size: 14px; color: #1d3b6e; }
.ep table { width: 100%; border-collapse: collapse; } .ep th, .ep td { border: 1px solid #9fb0c8; padding: 5px 7px; text-align: right; }
.ep th { background: #eef3fa; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.ep-sign { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-top: 40px; text-align: center; } .ep-sign div { border-top: 1px dashed #7b8ba3; padding-top: 6px; }

/* شريط متابعة اليوم في اللوحة الرئيسية */
.today-strip { display: flex; align-items: stretch; gap: 8px; flex-wrap: wrap; margin-bottom: 12px; }
.today-strip .ts-l { display: flex; align-items: center; padding: 0 6px; font-weight: bold; color: #cfe0ff; font-size: 13.5px; }
.ts-c { display: flex; align-items: center; gap: 8px; padding: 8px 12px; border-radius: 12px; text-decoration: none; color: inherit; font-size: 13px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); }
.ts-c b { font-size: 18px; } .ts-c.ok b { color: #8fe3a8; } .ts-c.bad { border-color: rgba(255,150,120,.5); background: rgba(255,120,100,.1); } .ts-c.bad b { color: #ffab9b; }
.ts-c:hover { background: rgba(255,255,255,.12); }
.ts-c[hidden] { display: none; }

/* ===== المهام الروتينية: شكل الخط الزمني (timeline) والبلاطات (tiles) ===== */
.ck-heads { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 12px; }
.ck-rc, .ck-rb { display: flex; align-items: center; gap: 10px; padding: 10px; border-radius: 14px; cursor: pointer; font: inherit; color: inherit; text-align: start; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.14); }
.ck-rc.on, .ck-rb.on { border-color: rgba(120,180,255,.85); background: rgba(60,140,255,.2); box-shadow: 0 0 0 1px rgba(120,180,255,.4) inset; }
.ck-rc.off, .ck-rb.off { opacity: .55; }
.ck-ring { width: 52px; height: 52px; flex: none; } .ck-ring .trk { fill: none; stroke: rgba(255,255,255,.12); stroke-width: 5; }
.ck-ring .val { fill: none; stroke-width: 5; stroke-linecap: round; transition: stroke-dashoffset .3s; } .ck-ring text { fill: #fff; font-size: 12px; font-weight: bold; }
.ck-ring.go .val { stroke: #3987e5; } .ck-ring.ok .val { stroke: #3fd37a; } .ck-ring.warn .val { stroke: #f0c53d; }
.ck-off { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 50%; border: 2px dashed rgba(255,255,255,.25); flex: none; }
.ck-rt { display: flex; flex-direction: column; gap: 2px; min-width: 0; } .ck-rt small, .ck-rb small { color: var(--muted); font-size: 11.5px; }
.ck-bar { padding: 8px 12px; border-radius: 12px; background: rgba(255,255,255,.04); } .ck-bar .ck-title { font-size: 15px; } .ck-bar .chk-count { margin-inline-start: 6px; margin-inline-end: auto; }
.ck-tl { position: relative; }
.ck-tls { display: grid; grid-template-columns: 110px 1fr; gap: 14px; position: relative; padding-bottom: 12px; }
.ck-tls::before { content: ""; position: absolute; inset-inline-start: 54px; top: 46px; bottom: 0; width: 2px; background: rgba(255,255,255,.12); }
.ck-node { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 8px 4px; border-radius: 12px; background: rgba(57,135,229,.16); border: 1px solid rgba(57,135,229,.45); height: fit-content; position: relative; z-index: 1; }
.ck-node b { font-size: 12px; direction: ltr; } .ck-node small { color: var(--muted); } .ck-node.full { background: rgba(63,211,122,.16); border-color: rgba(63,211,122,.5); }
.ck-tlt { display: flex; flex-direction: column; gap: 6px; }
.ck-tlr { margin: 0; padding: 8px 12px; border-inline-start: 4px solid rgba(255,255,255,.18); }
.ck-tlr.yes { border-inline-start-color: #3fd37a; } .ck-tlr.no { border-inline-start-color: #ff8a73; }
.ck-tlr.yes .chk-t { color: #bfe9cc; }
.ck-seg { display: inline-flex; border-radius: 10px; overflow: hidden; border: 1px solid rgba(255,255,255,.22); flex: none; }
.ck-seg .chk-b { border: 0; border-radius: 0; width: 44px; padding: 7px 0; font-size: 15px; }
.ck-seg .chk-b + .chk-b { border-inline-start: 1px solid rgba(255,255,255,.22); }
.ck-tiles .chk-row, .ck-tlt .chk-row { flex-wrap: wrap; }
.ck-rb { flex-direction: column; align-items: stretch; }
.ck-rn { font-weight: bold; }
.ck-stack { display: flex; height: 8px; border-radius: 6px; overflow: hidden; background: rgba(255,255,255,.1); }
.ck-stack .d { background: #3fd37a; } .ck-stack .m { background: #ff8a73; }
.ck-hint { margin: 0 0 10px; font-size: 12.5px; color: var(--muted); }
.ck-tslot h4 { margin: 10px 0 6px; font-size: 13px; color: var(--muted); }
.ck-tiles { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.ck-tile { margin: 0; padding: 0; display: flex; flex-direction: column; }
.chk-cyc { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 54px; padding: 10px 12px; font: inherit; color: inherit; text-align: start; cursor: pointer; background: none; border: 0; }
.ck-ic { width: 26px; height: 26px; flex: none; display: grid; place-items: center; border-radius: 50%; border: 2px solid rgba(255,255,255,.35); font-style: normal; font-weight: bold; }
.ck-tile.yes .ck-ic { background: #1f9d57; border-color: #3fd37a; } .ck-tile.no .ck-ic { background: #c4432f; border-color: #ff8a73; }
.ck-tile .chk-note { margin: 0 12px 10px; width: auto; }
@media (max-width: 900px) { .ck-heads { grid-template-columns: 1fr 1fr; } .ck-tiles { grid-template-columns: 1fr; } .ck-tls { grid-template-columns: 1fr; } .ck-tls::before { display: none; } .ck-node { flex-direction: row; justify-content: space-between; padding: 6px 12px; } }
.ck-tile { align-items: stretch; }
.ck-tile .chk-note { flex: none; align-self: stretch; width: auto; margin: 0 12px 10px; }
.ph-sub { display: block; font-size: 11px; font-weight: normal; color: var(--muted); margin-top: 1px; white-space: normal; }
.sn-step span { white-space: normal; }
.wiz-step + .wiz-step:not([hidden]) { margin-top: 0; }

/* تقييم المقاولين: كارتين جنب بعض على الشاشات العريضة */
@media (min-width: 1100px) {
  #ratings { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; align-items: start; }
  #ratings .rt-card { margin: 0; }
  #ratings > .empty { grid-column: 1 / -1; }
  #ratings .rt-row { grid-template-columns: minmax(140px, 1fr) auto 70px; }
}

/* المهام الروتينية: كروت الوظائف صغيرة في صف واحد */
.ck-heads.ck-tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.ck-heads.ck-tiles .ck-rb { padding: 7px 10px; gap: 4px; border-radius: 10px; }
.ck-heads.ck-tiles .ck-rn { font-size: 13.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ck-heads.ck-tiles .ck-stack { height: 5px; }
.ck-heads.ck-tiles small { font-size: 11px; white-space: nowrap; }
@media (max-width: 900px) { .ck-heads.ck-tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 560px) { .ck-heads.ck-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* الشاشات العريضة: الصفوف المتكررة في التقرير كارتين جنب بعض (والمعدات 3) بدل ما المساحة تفضل فاضية */
@media (min-width: 1100px) {
  #labor, #items, #inspections, #materials, #waste, #requests, #obstacles, #visitors, #equipment {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; align-items: start; }
  #equipment { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #labor > .rrow, #items > .rrow, #inspections > .rrow, #materials > .rrow, #waste > .rrow,
  #requests > .rrow, #obstacles > .rrow, #visitors > .rrow, #equipment > .rrow { margin: 0; }
  #punch .list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; align-items: start; }
  #punch .list > .pl-card { margin: 0; }
}

/* القايمة الجانبية: لو أطول من الشاشة (زي شاشة كتابة التقرير) بيبقى ليها شريط تمرير خاص بيها */
@media (min-width: 1100px) {
  .sidenav { max-height: calc(100vh - 108px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: rgba(124,196,255,.45) transparent; }
  .sidenav::-webkit-scrollbar { width: 6px; }
  .sidenav::-webkit-scrollbar-thumb { background: rgba(124,196,255,.45); border-radius: 6px; }
  .sidenav::-webkit-scrollbar-track { background: transparent; }
  .sidenav > * { flex: none; }
}

/* مقاول ما جاش النهارده */
.lab-abs { display: inline-flex; align-items: center; gap: 8px; margin: -2px 0 8px; font-size: 13px; color: #ffcfc4; cursor: pointer; }
.lab-abs input { width: auto; margin: 0; }
.rrow.absent { border-color: rgba(255,120,100,.45); background: rgba(255,120,100,.06); }
.rrow.absent .field:not(:first-child) { opacity: .55; }

/* ===== سجل ملاحظات المشروع ===== */
.lg-types { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.lg-type { cursor: pointer; position: relative; } .lg-type input { position: absolute; opacity: 0; pointer-events: none; width: 1px; height: 1px; margin: 0; inset: 0; }
.lg-type span { display: inline-block; padding: 8px 12px; border-radius: 10px; font-size: 13.5px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.16); }
.lg-type input:checked + span { background: rgba(60,140,255,.3); border-color: rgba(120,180,255,.85); font-weight: bold; }
.lg-type input:focus-visible + span { outline: 2px solid #7cc4ff; }
#lgAdd > form { padding: 12px 16px 16px; margin: 0; }
.lg-tl { position: relative; padding-inline-start: 4px; }
.lg-month { margin: 14px 0 8px; font-weight: bold; color: #cfe0ff; font-size: 14px; }
.lg-item { display: grid; grid-template-columns: 40px 1fr; gap: 10px; position: relative; margin-bottom: 10px; }
.lg-item::before { content: ""; position: absolute; inset-inline-start: 19px; top: 40px; bottom: -12px; width: 2px; background: rgba(255,255,255,.12); }
.lg-dot { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; font-size: 18px; background: rgba(255,255,255,.08); border: 2px solid rgba(255,255,255,.2); z-index: 1; }
.lg-item.lg-ok .lg-dot { border-color: #3fd37a; } .lg-item.lg-bad .lg-dot { border-color: #ff8a73; } .lg-item.lg-warn .lg-dot { border-color: #f0c53d; } .lg-item.lg-info .lg-dot { border-color: #7cc4ff; }
.lg-card { padding: 10px 14px; margin: 0; }
.lg-item.lg-bad .lg-card { border-color: rgba(255,120,100,.45) !important; }
.lg-h b { font-size: 15px; } .lg-h span { display: block; color: var(--muted); font-size: 12.5px; margin-top: 2px; }
.lg-meta { margin-top: 6px; font-size: 13px; } .lg-d { margin: 6px 0 0; white-space: pre-wrap; font-size: 13.5px; line-height: 1.7; }
.lg-f { display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 8px; } .lg-f small { color: var(--muted); }

/* شريط تمرير القايمة الجانبية أوضح */
@media (min-width: 1100px) {
  .sidenav { scrollbar-width: auto; scrollbar-color: rgba(124,196,255,.75) rgba(255,255,255,.06); scrollbar-gutter: stable; }
  .sidenav::-webkit-scrollbar { width: 9px; }
  .sidenav::-webkit-scrollbar-track { background: rgba(255,255,255,.06); border-radius: 8px; margin: 10px 0; }
  .sidenav::-webkit-scrollbar-thumb { background: rgba(124,196,255,.75); border-radius: 8px; border: 2px solid rgba(8,24,52,.9); }
  .sidenav::-webkit-scrollbar-thumb:hover { background: #7cc4ff; }
}

/* الصفحة الرئيسية: كارتين في الصف */
.menu.home-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 1040px; margin: 0 auto; gap: 14px; }
.menu.home-grid .menu-card { padding: 16px 18px; min-height: 96px; }
.menu.home-grid > :last-child:nth-child(odd) { grid-column: 1 / -1; width: calc(50% - 7px); justify-self: center; }
/* الشاشات الكبيرة: 3 كروت في الصف، والصف الأخير الناقص في النص (2026-10-08) */
@media (min-width: 1100px) {
  .menu.home-grid { display: flex; flex-wrap: wrap; justify-content: center; max-width: 1240px; }
  .menu.home-grid > * { flex: 0 0 calc((100% - 28px) / 3); min-width: 0; }
  .menu.home-grid > :last-child:nth-child(odd) { width: auto; }
  .pj-strip { max-width: 1240px; }
}
/* الشاشات العريضة: 4 كروت في الصف */
@media (min-width: 1200px) {
  .menu.home-grid { max-width: 1480px; }
  .menu.home-grid > * { flex: 0 0 calc((100% - 54px) / 4); }
  .menu.home-grid { gap: clamp(10px, 1.9vh, 18px) 18px; }
  .menu.home-grid .menu-card { padding: clamp(10px, 2vh, 18px) 22px; gap: 16px; min-height: clamp(72px, 11.5vh, 100px); }
  .menu.home-grid .menu-card .icon-box { width: 78px; height: 62px; transform: none; }
  .menu.home-grid .menu-card .text { transform: none; }
  .menu.home-grid .menu-card .icon-box img { max-width: 68px; max-height: 46px; }
  .menu.home-grid .menu-card .text b, .menu.home-grid .menu-card .text > span { white-space: normal; overflow: visible; }
  .pj-strip { max-width: 1480px; }
}
/* الصفحة الرئيسية: رسالة الترحيب في الشريط العلوي */
@media (min-width: 900px) {
  body.home .topbar .page-head.in-bar { margin-top: 0; }
  body.home #content { margin-top: auto; }
}
@media (max-width: 760px) {
  .menu.home-grid { grid-template-columns: 1fr; max-width: 560px; }
  .menu.home-grid > :last-child:nth-child(odd) { width: auto; justify-self: stretch; }
}
/* الصفحة الرئيسية: الترحيب والكروت في نص الشاشة */
@media (min-width: 761px) {
  body.home .page { display: flex; flex-direction: column; min-height: 100vh; }
  body.home .page-head { margin-top: auto; }
  body.home #content { margin-bottom: auto; width: 100%; }
}
.ub-name { font-weight: bold; color: #e8f1ff; }
@media (max-width: 700px) { #userBar .ub-name + span { display: none; } }

/* التقرير الأسبوعي جوه الموقع (ورقة A4 في إطار) */
.wk-frame { display: block; width: 100%; min-height: 900px; border: 0; border-radius: 12px; background: transparent; }

/* ===== عنوان الصفحة جوه الشريط العلوي + كروت أرقام أفقية (أوفر في المساحة) ===== */
@media (min-width: 900px) {
  body.nb .topbar .page-head.in-bar {
    display: grid; grid-template-columns: auto auto; column-gap: 10px; align-items: center; justify-content: center;
    margin: 0 auto; text-align: right; background: none; border: 0; padding: 0; min-width: 0;
  }
  body.nb .topbar .page-head.in-bar img { grid-row: 1 / 3; height: 40px; max-width: 110px; margin: 0; padding: 4px 8px; border-radius: 10px; }
  body.nb .topbar .page-head.in-bar h1 { margin: 0; font-size: 17px; line-height: 1.3; white-space: nowrap; }
  body.nb .topbar .page-head.in-bar p { margin: 0; font-size: 12px; line-height: 1.4; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 42vw; }
  body.nb .topbar .page-head.in-bar ~ #userBar { margin-inline-start: 0; }
}
@media (min-width: 1100px) {
  body.has-nav .stats .stat, body.has-nav .stat.kpi {
    display: grid; grid-template-columns: 1fr auto; align-items: center; column-gap: 10px; text-align: right; padding: 8px 14px;
  }
  body.has-nav .stats .stat > span, body.has-nav .stat.kpi > span { grid-column: 1; min-height: 0; }
  body.has-nav .stats .stat > b, body.has-nav .stat.kpi > b { grid-column: 2; grid-row: 1 / span 3; margin: 0; font-size: 21px; }
  body.has-nav .stats .stat > small, body.has-nav .stat.kpi > small { grid-column: 1; margin: 0; }
}

/* ===== نظم ← قوائم التقرير اليومي ===== */
.ls-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-bottom: 8px; }
.ls-scope { margin: 0; min-width: 260px; }
.ls-row { display: grid; grid-template-columns: 28px 1fr auto auto auto; gap: 6px; align-items: center; margin-bottom: 6px; }
.ls-row input { margin: 0; }
.ls-row.fixed { grid-template-columns: 28px 1fr auto; padding: 8px 0; color: var(--muted); }
.ls-row.fixed em { font-style: normal; font-size: 12px; padding: 2px 10px; border-radius: 999px; background: rgba(255,255,255,.1); }
.ls-n { text-align: center; color: var(--muted); font-size: 13px; }
.ls-btn { width: 34px; height: 34px; border-radius: 9px; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.06); color: inherit; cursor: pointer; font-size: 12px; }
.ls-btn:hover:not(:disabled) { background: rgba(255,255,255,.14); }
.ls-btn:disabled { opacity: .3; cursor: default; }
.ls-btn.del:hover { background: rgba(229,57,53,.3); border-color: rgba(255,160,160,.6); }
.ls-add { display: flex; gap: 8px; margin-top: 10px; }
.ls-add input { flex: 1; margin: 0; }
@media (min-width: 1100px) { #rows { columns: 2; column-gap: 18px; } #rows .ls-row { break-inside: avoid; } }

/* ===== تقييم المقاولين بالكلمات (سيء / متوسط / جيد / ممتاز) ===== */
.rt-row:has(.rt-w), #ratings .rt-row:has(.rt-w) { grid-template-columns: minmax(150px, 220px) 1fr; }
.rt-stars:has(.rt-w) { display: flex; gap: 6px; flex-wrap: nowrap; direction: rtl; }
.rt-b.rt-w { width: auto; min-width: 70px; padding: 0 12px; height: 34px; font-size: 13.5px; flex: 0 1 auto; }
.rt-b.rt-w.on.bad  { background: #c0392b; border-color: #ff8a80; color: #fff; }
.rt-b.rt-w.on.mid  { background: #c9821f; border-color: #f0b44d; color: #fff; }
.rt-b.rt-w.on.good { background: #1f8a4c; border-color: #6fe0a0; color: #fff; }
.rt-b.rt-w.on.exc  { background: #1f8a4c; border-color: #6fe0a0; color: #fff; }
@media (max-width: 700px) {
  .rt-row:has(.rt-w), #ratings .rt-row:has(.rt-w) { grid-template-columns: 1fr; gap: 4px; padding: 6px 0; }
  .rt-stars:has(.rt-w) { flex-wrap: nowrap; width: 100%; }
  .rt-b.rt-w { flex: 1 1 0; min-width: 0; width: auto; height: 38px; padding: 0 4px; }
}

/* صفحات نظم: مخفية لحد ما صلاحية المسؤول تتأكد (غير المسؤول بيتحوّل للرئيسية من غير ما يشوف حاجة) */
html[data-guard] body { visibility: hidden; }

.report-row .del-link { display: inline-block; margin-top: 8px; margin-inline-start: 18px; font-size: 13px; font-weight: bold; color: #ff8a80; background: none; border: none; padding: 0; cursor: pointer; font-family: inherit; }
.report-row .del-link:hover { text-decoration: underline; }

/* ===== كارت المقاول المدموج: جزء الأعمال المنفذة ===== */
.rrow .lab-work { margin-top: 4px; padding-top: 10px; border-top: 1px dashed rgba(255,255,255,.16); }
.rrow.absent .lab-work { opacity: .45; }

/* ===== نظم ← إدارة التقارير ===== */
.ra-filters { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; }
.ra-filters .field { margin: 0; min-width: 200px; }
.ra-filters .seg button { padding: 9px 14px; }
.ra-filters .seg button.on { background: rgba(60,140,255,.45); }
.ra-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
.ra-all { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; font-weight: bold; }
.ra-all input, .ra-table input[type=checkbox] { width: 18px; height: 18px; margin: 0; cursor: pointer; }
.ra-table tr.sel td { background: rgba(229,57,53,.12); }
.ra-table td:first-child { width: 36px; text-align: center; }
.ra-act { white-space: nowrap; }
.ra-act .link-btn { margin-inline: 6px; font-size: 13px; text-decoration: none; }
.table-wrap { overflow-x: auto; }
.ra-p[hidden] { display: none !important; }
.ra-bar .btn.danger { background: linear-gradient(90deg, #b71c1c, #e53935) !important; border-color: rgba(255,160,160,.5) !important; } .ra-bar .btn.danger:disabled { opacity: .45; cursor: default; }

/* ===== سجل التقارير اليومية: أزرار تعديل / عرض / طباعة / حذف ===== */
.report-row .rr-info { display: block; margin-top: 6px; font-size: 12.5px; color: var(--muted); }
.report-row .rr-acts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.report-row .rr-b { display: inline-flex; align-items: center; gap: 4px; padding: 6px 14px; border-radius: 9px; font: inherit; font-size: 13px; font-weight: bold; cursor: pointer; text-decoration: none;
  color: #e6efff; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.22); }
.report-row .rr-b:hover { background: rgba(255,255,255,.16); }
.report-row .rr-b.edit-link { margin: 0; color: #fff; background: rgba(60,140,255,.35); border-color: rgba(140,190,255,.6); }
.report-row .rr-b.del { margin: 0; color: #ffb4b4; background: rgba(229,57,53,.14); border-color: rgba(255,150,150,.45); }
.report-row .rr-b.del:hover { background: rgba(229,57,53,.3); }

/* =====================================================================
   DESIGN SYSTEM v2 — مرحلة تجريبية على صفحة واحدة (body.page-v2)
   نفس الهوية (كحلي + زجاج + خلفية المدينة) - توحيد فقط:
   الألوان بوظيفة واحدة • سلم أحجام خط • مسافات 4/8/12/16/24 • مؤثرات محسوبة
   لإلغاء التجربة: شيل class="page-v2" من الصفحة، أو امسح القسم ده.
   ===================================================================== */
body.page-v2 {
  /* الألوان - كل لون له وظيفة واحدة */
  --ds-primary: #3fa9f5;          /* أزرار / مختار / نشط */
  --ds-primary-strong: #1e5aa8;
  --ds-success: #a5d6a7;          /* تم / معتمد */
  --ds-warning: #ffd54f;          /* تنبيه فقط */
  --ds-danger: #ffb4b4;           /* خطأ / مرفوض / حذف */
  --ds-text: #ffffff;
  --ds-text-2: #cbd5e1;           /* نصوص ثانوية */
  --ds-text-3: #94a3b8;           /* بيانات وصفية صغيرة */
  /* سلم الخط */
  --ds-page-title: 20px;
  --ds-section-title: 16px;
  --ds-card-title: 15px;
  --ds-body: 14px;
  --ds-secondary: 13px;
  --ds-small: 12px;
  --ds-number: 22px;              /* أرقام كروت المؤشرات */
  /* المسافات */
  --ds-space-1: 4px;
  --ds-space-2: 8px;
  --ds-space-3: 12px;
  --ds-space-4: 16px;
  --ds-space-5: 24px;
  /* الحواف والعمق */
  --ds-radius-lg: 14px;
  --ds-radius-md: 10px;
  --ds-radius-sm: 6px;
  --ds-border: rgba(255, 255, 255, 0.16);
  --ds-surface-row: rgba(255, 255, 255, 0.04);
  --ds-surface-row-hover: rgba(255, 255, 255, 0.08);
  font-size: var(--ds-body);
}

/* ---------- الخط ---------- */
body.page-v2 .page-head h1 { font-size: var(--ds-page-title); font-weight: 700; }
body.page-v2 .page-head p { font-size: var(--ds-secondary); color: var(--ds-text-2); }
body.page-v2 .panel-title, body.page-v2 .it-hello h2 { font-size: var(--ds-section-title); font-weight: 700; margin: 0 0 var(--ds-space-2); line-height: 1.4; }
body.page-v2 .it-hello p, body.page-v2 .hint { font-size: var(--ds-secondary); color: var(--ds-text-2); }
body.page-v2 .it-row .main b, body.page-v2 .row .main b, body.page-v2 .menu-card .text b { font-size: var(--ds-card-title); font-weight: 600; }
body.page-v2 .it-row .main span, body.page-v2 .row .main > span, body.page-v2 .menu-card .text > span { font-size: var(--ds-secondary); color: var(--ds-text-2); }
body.page-v2 .stat span { font-size: var(--ds-secondary); color: var(--ds-text-2); }
body.page-v2 .stat b { font-size: var(--ds-number); font-weight: 700; }
body.page-v2 .stat small, body.page-v2 .stat.kpi small { font-size: var(--ds-small); color: var(--ds-text-3); }
body.page-v2 .btn { font-size: var(--ds-secondary); font-weight: 600; }
body.page-v2 .empty, body.page-v2 .empty.small { font-size: var(--ds-secondary); color: var(--ds-text-3); }

/* ---------- المسافات ---------- */
body.page-v2 .panel { padding: var(--ds-space-4); margin-bottom: var(--ds-space-3); }
body.page-v2 .it-hello { padding: var(--ds-space-3) var(--ds-space-4); gap: var(--ds-space-3); }
body.page-v2 .it-hello h2 { margin-bottom: var(--ds-space-1); }
body.page-v2 .stats { gap: var(--ds-space-3); margin-bottom: var(--ds-space-3); }
body.page-v2 .stat { padding: var(--ds-space-2) var(--ds-space-3); }
body.page-v2 .vz-grid2 { gap: var(--ds-space-3); margin-bottom: var(--ds-space-3); }
body.page-v2 .it-row { padding: var(--ds-space-2) var(--ds-space-3); margin-bottom: var(--ds-space-2); gap: var(--ds-space-3); }
body.page-v2 .it-row .main { gap: var(--ds-space-1); }
body.page-v2 .it-act { gap: var(--ds-space-2); }
body.page-v2 .ap-returned { padding: var(--ds-space-3) var(--ds-space-4); margin-bottom: var(--ds-space-3); }

/* ---------- الألوان بوظيفة واحدة ---------- */
/* الصفوف: سطح خفيف موحّد، والحالة بتتعرف من خط جانبي بلون الحالة (مش من لون الإطار كله) */
body.page-v2 .it-row { background: var(--ds-surface-row); border: 1px solid var(--ds-border); border-radius: var(--ds-radius-md); border-inline-start: 3px solid var(--ds-text-3); }
body.page-v2 .it-row.ok { border-inline-start-color: var(--ds-success); border-color: var(--ds-border); }
body.page-v2 .it-row:has(.it-dot.bad) { border-inline-start-color: var(--ds-warning); }
body.page-v2 .it-row.clickable:hover { background: var(--ds-surface-row-hover); }
body.page-v2 .it-dot.ok { background: var(--ds-success); }
body.page-v2 .it-dot.bad { background: var(--ds-warning); }
/* «قابل للتعديل» = حالة نجاح => شارة خضرا بدل نص أخضر سايح */
body.page-v2 em.st-green, body.page-v2 span.st-green {
  font-style: normal; display: inline-block; padding: 0 var(--ds-space-2); border-radius: var(--ds-radius-sm); font-size: var(--ds-small); line-height: 1.7;
  color: var(--ds-success); background: rgba(165, 214, 167, 0.12); border: 1px solid rgba(165, 214, 167, 0.35);
}
/* تقرير أعاده المدير = خطر (أحمر) في حاوية واضحة */
body.page-v2 .ap-returned { border-radius: var(--ds-radius-md); border: 1px solid rgba(255, 180, 180, 0.45); background: rgba(255, 120, 100, 0.10); font-size: var(--ds-secondary); }
body.page-v2 .ap-returned b { color: var(--ds-danger); }
body.page-v2 .ap-returned a { color: var(--ds-primary); }
/* الأزرار: الأزرق للإجراء الأساسي، والثانوي هادي */
body.page-v2 .btn.small { padding: 0 var(--ds-space-3); height: 32px; display: inline-flex; align-items: center; border-radius: var(--ds-radius-sm); }
body.page-v2 .btn.secondary { background: rgba(255, 255, 255, 0.06); border: 1px solid var(--ds-border); }
body.page-v2 .btn.secondary:hover { background: rgba(63, 169, 245, 0.14); border-color: rgba(63, 169, 245, 0.55); }
/* شارات الاعتماد: نفس اللغة */
body.page-v2 .ap-chip { border-radius: var(--ds-radius-sm); font-size: var(--ds-small); padding: 1px var(--ds-space-2); }

/* ---------- المؤثرات: محسوبة ---------- */
/* كروت المؤشرات (Dashboard) = رفعة خفيفة فقط عند المرور، والقوائم والصفوف من غير حركة */
body.page-v2 .stat { transition: transform .15s ease, border-color .15s ease; }
body.page-v2 .stat:hover { transform: translateY(-2px); border-color: rgba(63, 169, 245, 0.45); }
body.page-v2 .it-row, body.page-v2 .it-row:hover { transform: none; box-shadow: none; }
body.page-v2 .panel, body.page-v2 .glass { text-shadow: none; }

/* ---------- v2: قايمة المستخدم ---------- */
body.page-v2 #userBar { gap: var(--ds-space-2); }
body.page-v2 .um { position: relative; }
body.page-v2 .um-btn {
  display: inline-flex; align-items: center; gap: var(--ds-space-2); height: 36px; padding: 0 var(--ds-space-3) 0 var(--ds-space-2);
  font: inherit; font-size: var(--ds-secondary); font-weight: 600; color: var(--ds-text); cursor: pointer;
  background: rgba(255, 255, 255, 0.06); border: 1px solid var(--ds-border); border-radius: 999px;
}
body.page-v2 .um-btn:hover, body.page-v2 .um-btn[aria-expanded=true] { background: rgba(63, 169, 245, 0.14); border-color: rgba(63, 169, 245, 0.55); }
body.page-v2 .um-av { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; font-size: var(--ds-small); font-weight: 700; background: linear-gradient(135deg, var(--ds-primary-strong), var(--ds-primary)); }
body.page-v2 .um-caret { font-size: 10px; color: var(--ds-text-2); }
body.page-v2 .um-menu {
  position: absolute; top: calc(100% + 6px); inset-inline-end: 0; min-width: 240px; z-index: 60; padding: var(--ds-space-2);
  background: rgba(10, 26, 54, 0.97); border: 1px solid var(--ds-border); border-radius: var(--ds-radius-md); box-shadow: 0 16px 36px rgba(0, 0, 0, 0.5);
}
body.page-v2 .um-menu[hidden] { display: none; }
body.page-v2 .um-head { display: flex; flex-direction: column; gap: 2px; padding: var(--ds-space-2) var(--ds-space-3) var(--ds-space-3); border-bottom: 1px solid var(--ds-border); margin-bottom: var(--ds-space-2); }
body.page-v2 .um-head b { font-size: var(--ds-body); }
body.page-v2 .um-head span { font-size: var(--ds-small); color: var(--ds-text-3); text-align: right; }
body.page-v2 .um-item { display: block; width: 100%; text-align: start; padding: var(--ds-space-2) var(--ds-space-3); border-radius: var(--ds-radius-sm); font: inherit; font-size: var(--ds-secondary); background: none; border: 0; cursor: pointer; color: var(--ds-text); }
body.page-v2 .um-item.danger { color: var(--ds-danger); }
body.page-v2 .um-item:hover { background: rgba(255, 255, 255, 0.07); }

/* ---------- v2: الشارات + أيقونة القلم + ملاحظة المدير ---------- */
body.page-v2 .ap-chip { padding: 2px 8px; line-height: 1.4; vertical-align: middle; }
body.page-v2 .it-edit {
  display: inline-grid; place-items: center; width: 22px; height: 22px; margin-inline-start: var(--ds-space-1); vertical-align: middle;
  font-style: normal; font-size: 12px; color: var(--ds-success); border: 1px solid rgba(165, 214, 167, 0.4); border-radius: 50%; cursor: help;
}
body.page-v2 .it-note { display: block; font-size: var(--ds-small); color: var(--ds-text-3); }

/* ---------- v2: زرار ثانوي شفاف (Ghost) ---------- */
body.page-v2 .btn.ghost { background: transparent; border: 1px solid rgba(255, 255, 255, 0.28); box-shadow: none; color: var(--ds-text-2); }
body.page-v2 .btn.ghost:hover { background: rgba(255, 255, 255, 0.06); border-color: rgba(63, 169, 245, 0.6); color: var(--ds-text); }

/* ---------- v2: الصفحة المفتوحة في القايمة الجانبية ---------- */
body.page-v2 .sidenav a.on {
  background: linear-gradient(90deg, rgba(63, 169, 245, 0.42), rgba(63, 169, 245, 0.20)); color: #fff;
  box-shadow: inset 0 0 0 1px rgba(63, 169, 245, 0.55);
}
body.page-v2 .sidenav a.on svg { color: #fff; opacity: 1; }
body.page-v2 .sidenav a.on::before { inset-inline-start: -10px; width: 4px; inset-block: 6px; background: var(--ds-primary); box-shadow: 0 0 10px rgba(63, 169, 245, 0.9); }

/* ---------- v2: سجل التقارير اليومية ---------- */
body.page-v2 h1.title { font-size: var(--ds-page-title); font-weight: 700; margin-bottom: var(--ds-space-1); }
body.page-v2 .subtitle { font-size: var(--ds-secondary); color: var(--ds-text-2); margin-bottom: var(--ds-space-3); }
body.page-v2 .toolbar { gap: var(--ds-space-2); margin-bottom: var(--ds-space-3); }
body.page-v2 .list { gap: var(--ds-space-2); }
body.page-v2 .report-row { padding: var(--ds-space-3) var(--ds-space-4); border-radius: var(--ds-radius-md) !important; border-inline-start: 3px solid var(--ds-text-3) !important; }
body.page-v2 .report-row:has(.ap-ok) { border-inline-start-color: var(--ds-success) !important; }
body.page-v2 .report-row:has(.ap-pending) { border-inline-start-color: var(--ds-warning) !important; }
body.page-v2 .report-row:has(.ap-bad) { border-inline-start-color: var(--ds-danger) !important; }
body.page-v2 .report-row .main { display: flex; flex-direction: column; gap: var(--ds-space-1); }
body.page-v2 .report-row .rr-info { margin-top: 0; font-size: var(--ds-small); color: var(--ds-text-3); }
body.page-v2 .report-row .rr-acts { gap: var(--ds-space-2); margin-top: var(--ds-space-2); }
body.page-v2 .report-row .rr-b { height: 30px; padding: 0 var(--ds-space-3); border-radius: var(--ds-radius-sm); font-size: var(--ds-secondary); font-weight: 600; }
/* الإجراء الأساسي أزرق، والباقي شفاف بحد رفيع، والحذف أحمر شفاف */
body.page-v2 .report-row .rr-b.edit-link { background: linear-gradient(90deg, var(--ds-primary-strong), var(--ds-primary)); border-color: transparent; color: #fff; }
body.page-v2 .report-row .rr-b.ghost { background: transparent; border: 1px solid rgba(255, 255, 255, 0.28); color: var(--ds-text-2); }
body.page-v2 .report-row .rr-b.ghost:hover { background: rgba(255, 255, 255, 0.06); border-color: rgba(63, 169, 245, 0.6); color: var(--ds-text); }
body.page-v2 .report-row .rr-b.del { background: transparent; border: 1px solid rgba(255, 180, 180, 0.45); color: var(--ds-danger); }
body.page-v2 .report-row .rr-b.del:hover { background: rgba(255, 120, 100, 0.12); }
body.page-v2 .report-row .rr-info .st-yellow { color: var(--ds-text-3); }
body.page-v2 #btnMore { margin-top: var(--ds-space-3); }
/* حذف: هادي في الوضع العادي، وأحمر واضح عند المرور (إجراء حساس) */
body.page-v2 .report-row .rr-b.del { transition: background .15s, border-color .15s, color .15s, box-shadow .15s; }
body.page-v2 .report-row .rr-b.del:hover, body.page-v2 .report-row .rr-b.del:focus-visible {
  background: rgba(239, 68, 68, 0.22); border-color: rgba(248, 113, 113, 0.9); color: #fff; box-shadow: 0 0 12px rgba(239, 68, 68, 0.35); outline: none; text-decoration: none;
}

/* ===== v2: إدارة التخطيط والرقابة (planning.html) ===== */
/* لون واحد لكل وظيفة: البرتقالي يتوحد مع الأصفر (تنبيه) */
body.page-v2 .st-orange { color: var(--ds-warning); }
/* عناوين الأقسام بيضاء - الأصفر للتنبيه فقط */
body.page-v2 .sec .t b { font-size: var(--ds-section-title); color: var(--ds-text); }
body.page-v2 .sec .t span, body.page-v2 .la-banner .t span { font-size: var(--ds-secondary); color: var(--ds-text-2); }
body.page-v2 .la-banner .t b { font-size: var(--ds-section-title); }
body.page-v2 .section-title { font-size: var(--ds-section-title); font-weight: 700; color: var(--ds-text); margin: var(--ds-space-5) var(--ds-space-1) var(--ds-space-3); }
body.page-v2 .section-title span { font-size: var(--ds-small); font-weight: 400; color: var(--ds-text-2); text-shadow: 0 1px 4px rgba(0,0,0,.9); }
/* شريط متابعة اليوم: الصفر هادي (رمادي)، والرقم الذي يحتاج انتباه أصفر */
body.page-v2 .today-strip { gap: var(--ds-space-2); margin-bottom: var(--ds-space-3); }
body.page-v2 .today-strip .ts-l { font-size: var(--ds-secondary); color: var(--ds-text-2); }
body.page-v2 .ts-c { padding: var(--ds-space-2) var(--ds-space-3); border-radius: var(--ds-radius-md); font-size: var(--ds-secondary); color: var(--ds-text-2); }
body.page-v2 .ts-c b { font-size: var(--ds-card-title); }
body.page-v2 .ts-c.ok b { color: var(--ds-text-3); }
body.page-v2 .ts-c.bad { border-color: rgba(255, 213, 79, 0.5); background: rgba(255, 213, 79, 0.08); color: var(--ds-text); }
body.page-v2 .ts-c.bad b { color: var(--ds-warning); }
body.page-v2 .ts-c:hover { border-color: rgba(63, 169, 245, 0.6); }
/* بطاقات المشاريع: اسم 15 ونسبة 22 */
body.page-v2 .pc-head b { font-size: var(--ds-card-title); }
body.page-v2 .pc-head .pct { font-size: var(--ds-number); color: var(--ds-primary); }
body.page-v2 .pc-sub, body.page-v2 .pc-foot { font-size: var(--ds-small); }
body.page-v2 .pcard .chip { font-size: var(--ds-small); }
/* اكتمال البيانات */
body.page-v2 .dq-h { font-size: var(--ds-secondary); }
body.page-v2 .dq small { font-size: var(--ds-small); color: var(--ds-text-3); }

/* ===== v2: قواعد عامة لكل صفحات الموقع ===== */
/* الجداول: بدون حركة، رأس الجدول ثانوي 13، والخلايا 14 */
body.page-v2 .table { font-size: var(--ds-body); }
body.page-v2 .table th { font-size: var(--ds-secondary); color: var(--ds-text-2); font-weight: 600; padding: var(--ds-space-2); border-bottom-color: var(--ds-border); }
body.page-v2 .table td { padding: var(--ds-space-2); border-bottom-color: rgba(255, 255, 255, 0.07); }
body.page-v2 .table tbody tr:hover td { background: rgba(255, 255, 255, 0.03); }
body.page-v2 .table td span.st-green { display: inline; padding: 0; border: 0; background: none; font-size: inherit; }
/* النماذج: العنوان 13 ثانوي، والحقل 14 */
body.page-v2 .field label { font-size: var(--ds-secondary); color: var(--ds-text-2); margin-bottom: var(--ds-space-1); }
body.page-v2 .field input, body.page-v2 .field select, body.page-v2 .field textarea { font-size: var(--ds-body); border-radius: var(--ds-radius-sm); }
body.page-v2 .field input:focus, body.page-v2 .field select:focus, body.page-v2 .field textarea:focus { border-color: var(--ds-primary); box-shadow: 0 0 0 3px rgba(63, 169, 245, 0.18); outline: none; }
/* التبويبات: المختار أزرق، بدون رفعة */
body.page-v2 .tabs button { padding: var(--ds-space-2) var(--ds-space-4); border-radius: var(--ds-radius-md); font-size: var(--ds-secondary); }
body.page-v2 .tabs button:hover { transform: none; border-color: rgba(63, 169, 245, 0.55); }
body.page-v2 .tabs button.on { border-color: var(--ds-primary); box-shadow: inset 0 0 0 1px var(--ds-primary); }
/* الشارات */
body.page-v2 .chip { font-size: var(--ds-small); border-radius: var(--ds-radius-sm); padding: 1px var(--ds-space-2); }
body.page-v2 .chip.warn { color: var(--ds-warning); border-color: rgba(255, 213, 79, 0.45); background: rgba(255, 213, 79, 0.10); }
body.page-v2 .chip.ok { color: var(--ds-success); border-color: rgba(165, 214, 167, 0.45); background: rgba(165, 214, 167, 0.10); }
/* بطاقات القوائم (menu-card) والأقسام: رفعة خفيفة فقط */
body.page-v2 .menu-card:hover { transform: translateY(-2px); }
/* أزرار الحذف في أي صفحة: هادئة، وحمراء واضحة عند المرور */
body.page-v2 .btn.danger:hover, body.page-v2 .btn.red:hover { box-shadow: 0 0 12px rgba(239, 68, 68, 0.35); }
/* العناوين الزخرفية الصفراء تصبح بيضاء - الأصفر للتنبيه فقط */
body.page-v2 .breadcrumb, body.page-v2 .modal h3, body.page-v2 .period-label, body.page-v2 .summary h3, body.page-v2 .rrow-head b, body.page-v2 .plan-head h2 { color: var(--ds-text); }
body.page-v2 .rrow-head b, body.page-v2 .modal h3, body.page-v2 .summary h3 { font-size: var(--ds-card-title); }
body.page-v2 .plan-head h2 { font-size: var(--ds-section-title); }

/* ===== v2: إدارة المستخدمين (users.html) ===== */
body.page-v2 .us-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--ds-space-3); margin-bottom: var(--ds-space-3); }
body.page-v2 .us-filters { margin: 0; }
body.page-v2 .us-tools { display: flex; gap: var(--ds-space-2); align-items: center; }
body.page-v2 .us-tools input { width: 240px; height: 32px; padding: 0 var(--ds-space-3); border-radius: var(--ds-radius-sm); font-size: var(--ds-secondary); }
body.page-v2 .us-list { display: flex; flex-direction: column; gap: var(--ds-space-2); margin-bottom: var(--ds-space-3); }
body.page-v2 .us-row {
  display: grid; grid-template-columns: 36px minmax(220px, 1.2fr) auto minmax(200px, 2fr) auto; align-items: center; gap: var(--ds-space-3);
  width: 100%; text-align: right; font: inherit; color: var(--ds-text); cursor: pointer;
  padding: var(--ds-space-2) var(--ds-space-3); background: var(--ds-surface-row); border: 1px solid var(--ds-border); border-inline-start: 3px solid var(--ds-success); border-radius: var(--ds-radius-md);
}
body.page-v2 .us-row:hover { background: var(--ds-surface-row-hover); border-color: rgba(63, 169, 245, 0.5); }
body.page-v2 .us-row.stale { border-inline-start-color: var(--ds-warning); }
body.page-v2 .us-av { width: 32px; height: 32px; font-size: var(--ds-card-title); }
body.page-v2 .us-main { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
body.page-v2 .us-main b { font-size: var(--ds-card-title); font-weight: 600; }
body.page-v2 .us-main small { font-size: var(--ds-small); color: var(--ds-text-3); text-align: right; overflow: hidden; text-overflow: ellipsis; }
body.page-v2 .us-noname { color: var(--ds-warning); font-weight: 600; }
body.page-v2 .us-roles, body.page-v2 .us-projs, body.page-v2 .us-dlg-roles { display: flex; flex-wrap: wrap; gap: var(--ds-space-1); align-items: center; }
body.page-v2 .us-projs i, body.page-v2 .us-roles i { font-style: normal; }
body.page-v2 .us-projs .muted { font-size: var(--ds-small); }
body.page-v2 .us-role { font-style: normal; font-size: var(--ds-small); padding: 1px var(--ds-space-2); border-radius: var(--ds-radius-sm); border: 1px solid var(--ds-border); color: var(--ds-text-2); white-space: nowrap; }
body.page-v2 .us-role.r-admin, body.page-v2 .us-role.r-manager { color: #cfe8ff; border-color: rgba(63, 169, 245, 0.55); background: rgba(63, 169, 245, 0.14); }
body.page-v2 .us-role.r-hr, body.page-v2 .us-role.r-followup, body.page-v2 .us-role.r-planning, body.page-v2 .us-role.r-basma, body.page-v2 .us-role.r-ohda, body.page-v2 .us-role.r-ohrep { color: #e3d4ff; border-color: rgba(180, 150, 255, 0.5); background: rgba(150, 120, 255, 0.12); }
body.page-v2 .us-act { font-size: var(--ds-small); color: var(--ds-text-2); }
body.page-v2 .us-edit { font-size: var(--ds-secondary); color: var(--ds-text-2); border: 1px solid rgba(255, 255, 255, 0.28); border-radius: var(--ds-radius-sm); padding: 4px var(--ds-space-3); white-space: nowrap; }
body.page-v2 .us-row:hover .us-edit { border-color: var(--ds-primary); color: var(--ds-text); }
body.page-v2 .us-dlg-roles { margin-bottom: var(--ds-space-3); font-size: var(--ds-secondary); color: var(--ds-text-2); }
body.page-v2 .us-ph { display: flex; justify-content: space-between; align-items: center; gap: var(--ds-space-2); margin-bottom: var(--ds-space-2); flex-wrap: wrap; }
body.page-v2 .us-ph span { display: flex; gap: var(--ds-space-1); }
@media (max-width: 900px) {
  body.page-v2 .us-row { grid-template-columns: 36px 1fr auto; }
  body.page-v2 .us-roles { grid-column: 3; grid-row: 1; justify-content: flex-end; }
  body.page-v2 .us-projs { grid-column: 2 / span 2; }
  body.page-v2 .us-edit { display: none; }
  body.page-v2 .us-tools { width: 100%; } body.page-v2 .us-tools input { flex: 1; width: auto; }
}

/* ===== v2: لوحة نظم التقنية (admin.html) ===== */
body.page-v2 .ad-grid { align-items: start; }
body.page-v2 .ad-grid .panel { margin-bottom: 0; }
body.page-v2 .ad-chk { border: 1px solid var(--ds-border); border-inline-start: 3px solid var(--ds-success); border-radius: var(--ds-radius-md); background: var(--ds-surface-row); margin-bottom: var(--ds-space-2); }
body.page-v2 .ad-chk.warn { border-inline-start-color: var(--ds-warning); }
body.page-v2 .ad-chk.bad { border-inline-start-color: var(--ds-danger); }
body.page-v2 .ad-chk > summary { list-style: none; display: flex; align-items: center; gap: var(--ds-space-2); padding: var(--ds-space-2) var(--ds-space-3); font-size: var(--ds-body); }
body.page-v2 .ad-chk > summary::-webkit-details-marker { display: none; }
body.page-v2 .ad-chk:not(.ok) > summary { cursor: pointer; }
body.page-v2 .ad-chk > summary i { font-style: normal; width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; font-size: var(--ds-small); font-weight: 700; color: #0b1a33; background: var(--ds-success); flex: none; }
body.page-v2 .ad-chk.warn > summary i { background: var(--ds-warning); }
body.page-v2 .ad-chk.bad > summary i { background: var(--ds-danger); }
body.page-v2 .ad-chk > summary span { flex: 1; }
body.page-v2 .ad-chk > summary b { font-size: var(--ds-secondary); color: var(--ds-text-2); font-weight: 600; }
body.page-v2 .ad-chk.warn > summary b { color: var(--ds-warning); } body.page-v2 .ad-chk.bad > summary b { color: var(--ds-danger); }
body.page-v2 .ad-chk .hint, body.page-v2 .ad-chk ul { margin: 0 var(--ds-space-3) var(--ds-space-2); }
body.page-v2 .ad-chk ul { padding-inline-start: var(--ds-space-4); font-size: var(--ds-secondary); color: var(--ds-text-2); }
body.page-v2 .ad-set { display: flex; align-items: center; justify-content: space-between; gap: var(--ds-space-3); padding: var(--ds-space-2) 0; border-bottom: 1px solid rgba(255, 255, 255, 0.07); }
body.page-v2 .ad-set > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
body.page-v2 .ad-set b { font-size: var(--ds-body); font-weight: 600; }
body.page-v2 .ad-set small { font-size: var(--ds-small); color: var(--ds-text-3); }
body.page-v2 .ad-counts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 var(--ds-space-4); }
body.page-v2 .ad-counts > div { display: flex; justify-content: space-between; padding: 6px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.07); font-size: var(--ds-secondary); color: var(--ds-text-2); }
body.page-v2 .ad-counts b { color: var(--ds-text); font-weight: 600; }
body.page-v2 a.btn.ghost { text-decoration: none; }
/* نافذة تأكيد مراجعة المهام الروتينية قبل إرسال التقرير */
body.page-v2 .chk-confirm { list-style: none; margin: var(--ds-space-2) 0; padding: 0; display: flex; flex-direction: column; gap: var(--ds-space-1); font-size: var(--ds-secondary); }
body.page-v2 .chk-confirm li { padding: 6px var(--ds-space-3); border-radius: var(--ds-radius-sm); background: var(--ds-surface-row); border: 1px solid var(--ds-border); }

/* ===== v2: جدول البنود (manage.html) ===== */
body.page-v2 .it-bar { display: flex; justify-content: space-between; align-items: center; gap: var(--ds-space-3); flex-wrap: wrap; margin-bottom: var(--ds-space-2); font-size: var(--ds-secondary); color: var(--ds-text-2); }
body.page-v2 .it-bar-a { display: flex; gap: var(--ds-space-2); }
body.page-v2 .it-wrap { overflow-x: auto; border: 1px solid var(--ds-border); border-radius: var(--ds-radius-md); background: rgba(10, 24, 54, 0.88); backdrop-filter: blur(8px); }
body.page-v2 .it-table { min-width: 1110px; }
body.page-v2 .it-table th { white-space: nowrap; background: rgba(255, 255, 255, 0.04); }
body.page-v2 .it-table td { padding: 4px; border-bottom-color: rgba(255, 255, 255, 0.06); }
body.page-v2 .it-table td.n, body.page-v2 .it-table th.n { width: 36px; color: var(--ds-text-3); font-size: var(--ds-small); }
body.page-v2 .it-table tr.dirty td:first-child { box-shadow: inset -3px 0 0 var(--ds-primary); }
body.page-v2 .it-table input { width: 100%; height: 32px; padding: 0 var(--ds-space-2); font-size: var(--ds-secondary); border-radius: var(--ds-radius-sm); background: rgba(0, 0, 0, 0.18); border: 1px solid transparent; color: var(--ds-text); }
body.page-v2 .it-table input:hover { border-color: var(--ds-border); }
body.page-v2 .it-table input:focus { border-color: var(--ds-primary); box-shadow: 0 0 0 3px rgba(63, 169, 245, 0.18); outline: none; }
body.page-v2 .it-table input.invalid { border-color: var(--ds-danger); }
body.page-v2 .it-table .c-code { width: 90px; } body.page-v2 .it-table .c-name { min-width: 240px; } body.page-v2 .it-table .c-unit { width: 80px; }
body.page-v2 .it-table .c-qty, body.page-v2 .it-table .c-weight { width: 105px; } body.page-v2 .it-table .c-pct { width: 135px; } body.page-v2 .it-table .c-start, body.page-v2 .it-table .c-end { width: 150px; }
body.page-v2 .it-table td.none { padding: var(--ds-space-4); text-align: center; }
body.page-v2 .it-del { background: transparent; border: 1px solid transparent; border-radius: var(--ds-radius-sm); color: var(--ds-text-3); cursor: pointer; width: 32px; height: 32px; }
body.page-v2 .it-del:hover { background: rgba(239, 68, 68, 0.22); border-color: rgba(248, 113, 113, 0.9); color: #fff; }
/* سطرا الحقوق في شاشة تسجيل الدخول (بدل العلامة القديمة اللي كانت في صورة المباني) */
.login-foot { position: fixed; left: 0; right: 0; bottom: 10px; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 4px; pointer-events: none; text-align: center; }
.login-foot b { font-weight: 400; font-size: 14px; letter-spacing: .08em; color: rgba(206, 222, 242, .92); padding-top: 12px; background: linear-gradient(90deg, transparent, rgba(190, 210, 235, .45), transparent) top center / 380px 1px no-repeat; }
.login-foot span { font-size: 12.5px; font-weight: 400; letter-spacing: .07em; color: rgba(214, 228, 246, .98); }
@media print { .login-foot { display: none; } }
/* تنبيه: تقارير لم يعتمدها المدير ولم تُحتسب في الإحصائيات */
body.page-v2 .pend-banner { margin: 0 0 var(--ds-space-3); padding: var(--ds-space-2) var(--ds-space-4); border-radius: var(--ds-radius-md); border: 1px solid rgba(255, 213, 79, 0.45); background: rgba(20, 30, 55, 0.85); color: var(--ds-warning); font-size: var(--ds-secondary); }
@media print { .pend-banner { display: none; } }

/* ===== شريط «مشاريعنا» المتحرك في صفحة اختيار الأقسام (2026-10-08) ===== */
.pj-strip { max-width: 1040px; margin: var(--ds-space-5) auto 0; }
.pj-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--ds-space-3); margin: 0 4px var(--ds-space-2); }
.pj-head h2 { margin: 0; font-size: var(--ds-section-title); font-weight: 700; color: var(--ds-text); }
.pj-head a { font-size: var(--ds-small); color: var(--ds-text-2); text-decoration: none; }
.pj-head a:hover { color: var(--ds-primary); }
.pj-view { overflow: hidden; direction: ltr; border-radius: var(--ds-radius-lg);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.pj-track { display: flex; gap: var(--ds-space-3); width: max-content; padding: 4px 0; animation: pj-move var(--pj-dur, 80s) linear infinite; }
.pj-view:hover .pj-track, .pj-view:focus-within .pj-track { animation-play-state: paused; }
@keyframes pj-move { from { transform: translateX(0); } to { transform: translateX(calc(-50% - var(--ds-space-3) / 2)); } }
.pj-card { position: relative; margin: 0; width: 230px; aspect-ratio: 3 / 2; flex: none; overflow: hidden; direction: rtl;
  border-radius: var(--ds-radius-md); border: 1px solid var(--ds-border); background: rgba(255, 255, 255, 0.04); box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28); }
.pj-card { background: linear-gradient(110deg, rgba(255,255,255,.05) 30%, rgba(255,255,255,.12) 50%, rgba(255,255,255,.05) 70%) 0 0 / 300% 100%; animation: pj-wait 1.6s ease-in-out infinite; }
.pj-card:has(img.ok) { animation: none; background: rgba(255, 255, 255, 0.04); }
@keyframes pj-wait { from { background-position: 100% 0; } to { background-position: 0 0; } }
.pj-card img { width: 100%; height: 100%; object-fit: cover; display: block; opacity: 0; transition: transform .4s ease, opacity .5s ease; }
.pj-card img.ok { opacity: 1; }
.pj-card:hover img { transform: scale(1.05); }
.pj-card figcaption { position: absolute; inset: auto 0 0 0; padding: 26px 10px 8px; display: flex; flex-direction: column; gap: 2px; text-align: right;
  background: linear-gradient(180deg, transparent, rgba(0, 18, 45, 0.88) 55%); }
.pj-card figcaption b { font-size: var(--ds-secondary); font-weight: 700; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pj-card figcaption span { font-size: var(--ds-small); color: var(--ds-text-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 899px) { .pj-strip { max-width: 560px; } .pj-card { width: 190px; } }
@media (prefers-reduced-motion: reduce) { .pj-view { overflow-x: auto; } .pj-track, .pj-card { animation: none; } .pj-card[aria-hidden="true"] { display: none; } }
@media print { .pj-strip { display: none; } }

/* الموبايل: من غير لوجو القسم جنب العنوان (طلب المستخدم 2026-10-08) - لوجو الشركة الأفقي فوق كفاية */
@media (max-width: 899px) {
  body.nb .page-head > img { display: none; }
}
/* الموبايل: لوجو الشركة أفقي وأصغر (نفس لوجو الشريط العلوي) - شاشة الدخول بتفضل باللوجو الكبير */
@media (max-width: 899px) {
  body.nb .brand { margin-bottom: var(--ds-space-3); }
  body.nb .brand img { content: url("../img/company_logo_h.png"); width: 210px; max-width: 64vw; }
}
/* الموبايل: قايمة مختصرة بشاشات القسم تحت اللوحة الرئيسية (بدل الكروت الكبيرة) - 2026-10-08 */
.sec-links { margin-top: var(--ds-space-5); border-radius: var(--ds-radius-lg); border: 1px solid var(--ds-border); background: rgba(12, 32, 66, 0.72); overflow: hidden; }
.sec-links-t { padding: var(--ds-space-3) var(--ds-space-4); font-size: var(--ds-section-title); font-weight: 700; color: var(--ds-text); border-bottom: 1px solid rgba(255, 255, 255, 0.08); }
.sec-links a { display: flex; align-items: center; gap: var(--ds-space-3); padding: var(--ds-space-3) var(--ds-space-4); color: var(--ds-text); text-decoration: none; font-size: var(--ds-body); border-bottom: 1px solid rgba(255, 255, 255, 0.06); }
.sec-links a:last-child { border-bottom: 0; }
.sec-links a:hover, .sec-links a:active { background: var(--ds-surface-row-hover); }
.sec-links a svg { color: var(--ds-primary); flex: none; }
.sec-links a span { flex: 1; }
.sec-links a i { font-style: normal; font-size: var(--ds-small); color: var(--ds-text-3); }

/* طباعة التقارير الأسبوعية/الشهرية: نفس ترتيب الشعارات في كل التقارير - إتقان يمين والشركة يسار */
.ph-logos { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; text-align: center; border-bottom: 3px solid #1d3b6e; padding-bottom: 8px; margin-bottom: 10px; }
.ph-logos img { height: 58px; width: auto; } .ph-logos img:first-child { justify-self: start; } .ph-logos img:last-child { justify-self: end; }
.ph-logos b { font-size: 18px; }

/* ذيل طباعة التقارير الأسبوعية/الشهرية المجمّعة: نفس سطر الحقوق في التقرير اليومي والأسبوعي */
.print-tm { margin-top: 10px; padding-top: 5px; border-top: 1px solid #dfe5ee; text-align: center; font-size: 9.5px; color: #8a97ab; line-height: 1.6; }
.print-tm b { font-size: 11.5px; font-weight: 700; color: #4a5a72; }

/* عنوان الشاشة في الشريط العلوي: في نص الشاشة بالظبط، والعنوان في نص ارتفاع الشعار (حتى لو مفيش سطر تحته) */
@media (min-width: 900px) {
  body.nb .topbar .page-head.in-bar > h1:last-child { grid-row: 1 / 3; align-self: center; }
}
@media (min-width: 1200px) {
  body.nb .topbar .page-head.in-bar { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); margin: 0; }
  body.nb .topbar .page-head.in-bar ~ #userBar { margin-inline-start: auto; }
}

/* ===== شاشات نظم: نفس الشكل في كل الشاشات =====
   شريط واحد أعلى المحتوى (تبويبات/عدد يمين - أدوات وأزرار شمال) + كروت في شبكة */
body.page-v2 .nz-bar .chk-roles { margin: 0; }
body.page-v2 .nz-bar .toolbar .breadcrumb { font-size: var(--ds-secondary); color: var(--ds-text-2); }
body.page-v2 .nz-state { font-size: var(--ds-small); color: var(--ds-text-2); white-space: nowrap; }
body.page-v2 .nz-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--ds-space-2); }
body.page-v2 .nz-grid.nz-g3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.page-v2 .nz-grid > .empty { grid-column: 1 / -1; }
body.page-v2 .us-row.nz-card { grid-template-columns: 32px minmax(0, 1fr) auto; min-height: 64px; }
body.page-v2 .nz-card .us-main b { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.page-v2 .nz-card .us-main small { white-space: nowrap; }
/* كارت المشروع: الاسم والتفاصيل فوق والأزرار تحت */
body.page-v2 .nz-grid > .row { flex-direction: column; align-items: stretch; justify-content: space-between; gap: var(--ds-space-2);
  background: var(--ds-surface-row); border: 1px solid var(--ds-border); border-inline-start: 3px solid var(--ds-primary); border-radius: var(--ds-radius-md); padding: var(--ds-space-3); }
body.page-v2 .nz-grid > .row:hover { background: var(--ds-surface-row-hover); border-color: rgba(63, 169, 245, 0.5); }
body.page-v2 .nz-grid > .row .row-actions { justify-content: flex-end; }
@media (max-width: 1400px) { body.page-v2 .nz-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 1100px) { body.page-v2 .nz-grid, body.page-v2 .nz-grid.nz-g3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { body.page-v2 .nz-grid, body.page-v2 .nz-grid.nz-g3 { grid-template-columns: 1fr; } }
@media (max-width: 900px) { body.page-v2 .nz-card .us-edit { display: none; } }

/* جدول البنود: عمود التحديد */
body.page-v2 .it-table td.sel, body.page-v2 .it-table th.sel { width: 34px; text-align: center; }
body.page-v2 .it-table td.sel input, body.page-v2 .it-table th.sel input { width: 17px; height: 17px; accent-color: var(--ds-primary); cursor: pointer; }
body.page-v2 .it-table tr.sel td { background: rgba(239, 68, 68, 0.10); }


/* شاشة النسخة الاحتياطية */
body.page-v2 .bk-row .btn { width: auto; flex: none; padding-inline: var(--ds-space-5, 24px); }
body.page-v2 .bk-row { display: flex; align-items: center; justify-content: space-between; gap: var(--ds-space-4); flex-wrap: wrap; }
body.page-v2 .bk-info { display: flex; flex-direction: column; gap: 4px; }
body.page-v2 .bk-info b { font-size: 22px; }
body.page-v2 .bk-info small { font-size: var(--ds-small); color: var(--ds-text-3); }

/* لوحة نظم: كروت القوائم قابلة للضغط */
body.page-v2 a.ad-lnk { text-decoration: none; color: inherit; }
body.page-v2 a.ad-lnk:hover { border-color: rgba(63, 169, 245, 0.6); }
.stats.two { grid-template-columns: repeat(2, 1fr); }

/* شريط معلومات مدمج */
body.page-v2 .ad-strip { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ds-space-2) var(--ds-space-3); padding: 8px var(--ds-space-3); margin-bottom: var(--ds-space-3); font-size: var(--ds-secondary); color: var(--ds-text-2); }
body.page-v2 .ad-strip b { font-size: var(--ds-body); color: var(--ds-text); font-weight: 600; margin-inline-end: var(--ds-space-3); }
body.page-v2 .ad-strip b.st-green { color: var(--ds-success); } body.page-v2 .ad-strip b.st-yellow { color: var(--ds-warning); }
body.page-v2 .ad-strip small { font-size: var(--ds-small); color: var(--ds-text-3); }
body.page-v2 .ad-strip .ad-lnk { display: inline-flex; gap: 6px; align-items: center; }
body.page-v2 .ad-strip .ad-lnk b { margin: 0; }
body.page-v2 a.ad-strip { text-decoration: none; color: var(--ds-text); }
body.page-v2 .bk-info b { font-size: var(--ds-body); }

body.page-v2 .us-row.grp { grid-template-columns: 110px minmax(160px, 1fr) 2fr; cursor: default; }
body.page-v2 .us-row.lg { grid-template-columns: 36px minmax(220px, 1.2fr) auto minmax(160px, 1fr); cursor: default; }
body.page-v2 .us-grp { display: flex; flex-wrap: wrap; gap: var(--ds-space-2); }
body.page-v2 .us-grp label { flex: none; padding: 6px var(--ds-space-3); }

/* مشاريع المستخدم: 3 في الصف بدون قائمة طويلة */
body.page-v2 .checks.us-checks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ds-space-2); max-height: none; overflow: visible; }
body.page-v2 .checks.us-checks label { padding: 6px var(--ds-space-2); gap: var(--ds-space-2); font-size: var(--ds-secondary); min-width: 0; }
body.page-v2 .checks.us-checks label input { flex: none; width: 16px; height: 16px; }
@media (max-width: 560px) { body.page-v2 .checks.us-checks { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ===== v2: توحيد شاشات القوائم (lists / checklists / contractors) ===== */
body.page-v2 .ls-body { display: flex; flex-direction: column; gap: var(--ds-space-3); }
body.page-v2 .ls-head { margin: 0; align-items: center; }
body.page-v2 .ls-head .hint { flex: 1; }
body.page-v2 .ls-scope { margin: 0; min-width: 240px; }
body.page-v2 .ls-scope label { display: none; }
body.page-v2 .ls-scope select, body.page-v2 .ck-name input, body.page-v2 .ls-add input, body.page-v2 .ls-row input, body.page-v2 .ck-slot input { height: 32px; padding: 0 var(--ds-space-3); border-radius: var(--ds-radius-sm); font-size: var(--ds-secondary); margin: 0; }
body.page-v2 .ck-name { margin: 0; display: flex; align-items: center; gap: var(--ds-space-2); }
body.page-v2 .ck-name label { margin: 0; white-space: nowrap; font-size: var(--ds-secondary); color: var(--ds-text-2); }
body.page-v2 .ck-name input { width: 280px; }
body.page-v2 .ls-grid, body.page-v2 .ck-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ds-space-2); columns: auto; }
body.page-v2 .ck-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
body.page-v2 .ls-grid > .empty { grid-column: 1 / -1; }
body.page-v2 .ls-row, body.page-v2 .ck-slot { margin: 0; background: var(--ds-surface-row); border: 1px solid var(--ds-border); border-radius: var(--ds-radius-md); }
body.page-v2 .ls-row { grid-template-columns: 22px minmax(0, 1fr) auto auto auto; gap: var(--ds-space-1); padding: var(--ds-space-2) var(--ds-space-3); }
body.page-v2 .ls-row.fixed { grid-column: 1 / -1; grid-template-columns: 22px 1fr auto; }
body.page-v2 .ls-btn { width: 28px; height: 28px; border-radius: var(--ds-radius-sm); font-size: var(--ds-small); }
body.page-v2 .ck-slot { padding: var(--ds-space-2) var(--ds-space-3); }
body.page-v2 .ck-slot-h { margin-bottom: var(--ds-space-2); gap: var(--ds-space-2); flex-wrap: nowrap; align-items: center; }
body.page-v2 .ck-slot-h label { flex: 1; font-size: var(--ds-small); color: var(--ds-text-3); display: flex; align-items: center; gap: var(--ds-space-2); }
body.page-v2 .ck-slot-h label input { flex: 1; }
body.page-v2 .ck-slot textarea { min-height: 0; font-size: var(--ds-secondary); line-height: 1.7; resize: vertical; }
body.page-v2 .ls-add { margin: 0; }
body.page-v2 .ls-foot { display: flex; align-items: center; justify-content: space-between; gap: var(--ds-space-3); flex-wrap: wrap; }
@media (max-width: 1100px) { body.page-v2 .ls-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } body.page-v2 .ck-grid { grid-template-columns: 1fr; } }
@media (max-width: 640px) { body.page-v2 .ls-grid { grid-template-columns: 1fr; } body.page-v2 .ck-name input { width: 100%; } }


/* شاشة صلاحيات المجموعات (إدارة المستخدمين) */
body.page-v2 .pm-wrap { overflow-x: auto; max-width: 860px; margin: 0 auto; padding: 4px 14px 10px; border-radius: var(--ds-radius-sm, 12px); border: 1px solid var(--ds-border); background: rgba(10, 24, 52, .82); backdrop-filter: blur(6px); }
html[data-theme="light"] body.page-v2 .pm-wrap { background: rgba(255, 255, 255, .92); }
body.page-v2 .pm-t { width: 100%; border-collapse: collapse; font-size: var(--ds-body); }
body.page-v2 .pm-t th { font-size: var(--ds-small); color: var(--ds-text-2); text-align: center; padding: 6px 8px; white-space: nowrap; border-bottom: 1px solid var(--ds-border); }
body.page-v2 .pm-t th:first-child, body.page-v2 .pm-t td.pm-n, body.page-v2 .pm-t tr.pm-sec td:first-child { text-align: right; }
body.page-v2 .pm-t td { text-align: center; padding: 5px 8px; border-bottom: 1px solid var(--ds-border); }
body.page-v2 .pm-t td.pm-n { padding-inline-start: 22px; color: var(--ds-text-2); }
body.page-v2 .pm-t tr.pm-sec td { font-weight: 700; background: rgba(120, 160, 220, .10); }
body.page-v2 .pm-t input[type=checkbox] { width: 18px; height: 18px; cursor: pointer; }
/* صفوف إدارة المستخدمين في الداكن: خلفية أكتر كثافة عشان الخلفية الخلفية ما تعومش على النص */
html:not([data-theme="light"]) body.page-v2 .us-row { background: rgba(10, 24, 52, .84); backdrop-filter: blur(4px); }
html:not([data-theme="light"]) body.page-v2 .us-row:hover { background: rgba(22, 48, 92, .9); }
/* «مشاريعنا» على يمين الصور (مش فوقها) */
@media (min-width: 900px) {
  .pj-strip:not([hidden]) { display: flex; align-items: center; gap: var(--ds-space-4); width: 100%; }
  .pj-strip .pj-head { flex: none; margin: 0; width: 120px; }
  .pj-strip::after { content: ""; flex: none; width: 120px; }   /* مساحة فاضية على الشمال بعرض «مشاريعنا» عشان الصور تتوسّط */
  .pj-strip .pj-view { flex: 1; min-width: 0; }
}

/* English (LTR): الأسهم الاتجاهية بتتعكس */
html[dir="ltr"] .menu-card .arrow, html[dir="ltr"] .sec-links a > i { display: inline-block; transform: scaleX(-1); }
html[dir="ltr"] body.page-v2 .us-row { text-align: left; }
/* شريط «مشاريعنا» بنفس عرض الكروت (يتوسّط معاها) */
@media (min-width: 1100px) { body.home .pj-strip { max-width: 1240px; } }
@media (min-width: 1200px) { body.home .pj-strip { max-width: 1480px; } }
.login-foot span strong { font-family: "Dancing Script", cursive; font-weight: 600; font-size: 1.2em; line-height: 1; letter-spacing: .02em; vertical-align: -.08em; }
/* اسم المطوّر لينك لصفحته (يشتغل مع إن الفوتر pointer-events:none) */
.nb-dev-link { pointer-events: auto; color: inherit; text-decoration: none; cursor: pointer; border-bottom: 1px solid transparent; transition: border-color .15s; }
.nb-dev-link:hover, .nb-dev-link:focus-visible { border-bottom-color: currentColor; }
.nb-dev-link b, .nb-dev-link strong { color: inherit !important; }
/* الشاشة الرئيسية ≥1200px: هوامش جانبية موحدة (28px) للشريط العلوي والكروت والصور عشان ما يلزقوش في الحافة */
@media (min-width: 1200px) {
  body.home .page { padding-left: 28px; padding-right: 28px; }
  body.home .topbar { padding-left: 28px; padding-right: 28px; }
}
/* الترحيب: «… | إدارة المشاريع» - الفاصل والعنوان الفرعي أخف من الجملة */
.hello-sep { opacity: .45; margin: 0 .35em; font-weight: 300; }
.hello-sub { font-weight: 500; opacity: .85; }

/* ===== حضور عمال الشركة (التقرير اليومي) + كشوف الموارد البشرية ===== */
.att-title { margin: 16px 0 8px; font-size: var(--ds-card-title, 15px); }
.att-empty { padding: 10px 12px; border: 1px dashed var(--ds-border, rgba(255,255,255,.16)); border-radius: 10px; font-size: 13px; opacity: .8; }
.att-head { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-bottom: 8px; font-size: 13.5px; }
.att-head b { color: var(--ds-success, #a5d6a7); } .att-head small { opacity: .7; font-size: 12px; }
.att-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 8px; }
.att-w { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 8px; padding: 6px 10px; border: 1px solid var(--ds-border, rgba(255,255,255,.16)); border-radius: 10px; background: var(--ds-surface-row, rgba(255,255,255,.04)); }
.att-w.on { border-color: rgba(76,208,138,.6); background: rgba(76,208,138,.09); }
.att-w.dup { opacity: .65; border-style: dashed; }
.att-w label { display: flex; align-items: center; gap: 8px; cursor: pointer; min-width: 0; }
.att-w label input { width: 18px; height: 18px; flex: none; }
.att-n { font-weight: 700; font-size: 13.5px; line-height: 1.3; } .att-n small { display: block; font-weight: 400; opacity: .7; font-size: 11.5px; }
.att-ot { width: 66px; padding: 4px 6px; text-align: center; font-size: 13px; }
.att-ot:disabled { visibility: hidden; }
.att-warn { grid-column: 1 / -1; font-size: 11.5px; color: var(--ds-warning, #ffd54f); }
.att-sheet { overflow-x: auto; }
table.att-t { border-collapse: collapse; font-size: 12.5px; width: 100%; }
table.att-t th, table.att-t td { padding: 5px 6px; border: 1px solid var(--ds-border, rgba(255,255,255,.14)); text-align: center; white-space: nowrap; }
table.att-t td.n { text-align: right; font-weight: 700; }
table.att-t td.p { color: var(--ds-success, #a5d6a7); font-weight: 700; } table.att-t td.f { opacity: .35; }
table.att-t .tot { background: var(--ds-surface-row-hover, rgba(255,255,255,.08)); font-weight: 700; }
.att-pos { color: var(--ds-success, #a5d6a7); } .att-neg { color: var(--ds-danger, #ffb4b4); }
.att-dupnote { margin-top: 8px; font-size: 12px; color: var(--ds-warning, #ffd54f); }
.chips { display: flex; flex-wrap: wrap; gap: 6px; }
.chips .chip { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; font-size: 13px; padding: 5px 12px; }
.chips .chip input { width: 15px; height: 15px; }
.chk-inline { display: flex; align-items: center; gap: 6px; font-size: 13px; padding-bottom: 8px; }
.chk-inline input { width: 16px; height: 16px; }

/* حقوق الملكية: Bonyan Co. + اسم المطوّر تحتها (V7.23) */
@media (min-width: 900px) {
  body.nb .page::after { content: none !important; }
  body.nb .nb-dev { bottom: 12px; padding-top: 12px; font-size: 13.5px; line-height: 1.9;
    background: linear-gradient(90deg, transparent, rgba(190, 210, 235, .45), transparent) top center / 380px 1px no-repeat; }
  body.nb .nb-dev .nb-dev-c { display: block; letter-spacing: .04em; color: rgba(206, 222, 242, .95); }
  body.nb .nb-dev .nb-dev-n { display: block; font-size: 12px; }
}

/* الصفحة الرئيسية بكروت كتير (>8): الأحجام بتتناسب مع ارتفاع الشاشة عشان الصفحة وسطر الحقوق يدخلوا في شاشة واحدة من غير فراغات كبيرة (V7.24) */
@media (min-width: 1200px) {
  .menu.home-grid.dense { gap: clamp(8px, 2vh, 20px) 18px; }
  .menu.home-grid.dense .menu-card { padding: clamp(7px, 1.8vh, 18px) 22px; min-height: clamp(60px, 13.2vh, 112px); gap: 16px; }
  .menu.home-grid.dense .menu-card .icon-box { width: clamp(66px, 9.4vh, 78px); height: clamp(50px, 7.6vh, 62px); }
  .menu.home-grid.dense .menu-card .icon-box img { max-width: clamp(58px, 8.4vh, 68px); max-height: clamp(38px, 5.8vh, 46px); }
  body.home-dense .pj-strip { margin-top: clamp(8px, 2vh, 20px); }
  body.home-dense .pj-card { width: clamp(120px, 26.4vh, 240px); }
  body.home-dense .page { padding-bottom: 84px; }
}

/* قائمة التقارير (إتقان): بحث داخل شريط الفلاتر + جدول من غير عمود تحديد (V7.26) */
.ra-filters .ra-search { flex: 1 1 260px; }
.ra-table.nosel td:first-child { width: auto; text-align: inherit; }
.ra-per[hidden] { display: none !important; }

/* ===== تنقل سلس: القايمة الجانبية والشريط العلوي ثابتين بصريًا بين الصفحات (View Transitions بين الصفحات) ===== */
@view-transition { navigation: auto; }
.sidenav { view-transition-name: sidenav; }
.topbar { view-transition-name: topbar; }
::view-transition-group(sidenav), ::view-transition-group(topbar) { animation-duration: 0s; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: .16s; }
@media (prefers-reduced-motion: reduce) { ::view-transition-old(root), ::view-transition-new(root) { animation: none; } }
@media print { .sidenav, .topbar { view-transition-name: none; } }

/* نسخة مؤقتة من الجرس واسم المستخدم لحد ما الحقيقي يتركب (مش بتتضغط) */
.ub-ghost, .ub-ghost-bell { pointer-events: none; }
.ub-ghost { display: contents; }
.ub-ghost-bell .bell-panel { display: none !important; }

/* ===== كتابة التقرير (كمبيوتر): تضغيط عشان الشغل الفعلي يبان من أول الشاشة ===== */
@media (min-width: 1100px) {
  /* البيانات الأساسية: العنوان مكرر في الشريط العلوي، والمقاول/المالك/الاستشاري/التواريخ سطر واحد بدل كروت */
  body.has-nav .wiz-top { padding: 10px 14px; margin-bottom: 8px; }
  body.has-nav .wiz-top > .panel-title { display: none; }
  body.has-nav .wiz-top .rgrid.c2 { grid-template-columns: 3fr 1.2fr; }
  body.has-nav .wiz-top .rgrid.c3 { grid-template-columns: 3fr 1.2fr 1.2fr; }
  body.has-nav .wiz-top .rgrid .field { margin-bottom: 6px; }
  body.has-nav .wiz-top .info-grid { grid-template-columns: repeat(5, auto); justify-content: space-between; gap: 4px 16px; margin: 0 0 6px; }
  body.has-nav .wiz-top .info-grid div { display: flex; align-items: baseline; gap: 6px; background: none; padding: 0; border-radius: 0; }
  body.has-nav .wiz-top .info-grid span { display: inline; font-size: 12px; }
  body.has-nav .wiz-top .info-grid span::after { content: ":"; }
  body.has-nav .wiz-top .info-grid b { display: inline; margin: 0; font-size: 13px; }
  body.has-nav .wiz-top .wx { margin-top: 0; padding: 5px 10px; }
  /* شريط الاكتمال أنحف */
  body.has-nav .wiz-progress { padding: 5px 14px; margin-bottom: 6px; display: flex; align-items: center; gap: 14px; }
  body.has-nav .wiz-progress .wp-t { margin: 0; flex: none; font-size: 13px; }
  body.has-nav .wiz-progress .pbar { flex: 1; height: 7px; }
  /* التبويبات */
  body.has-nav .wiz-rail { top: 80px; padding: 5px; margin-bottom: 6px; gap: 6px; }
  body.has-nav .wiz-tab { padding: 7px 10px; font-size: 13.5px; }
  body.has-nav .wiz-tab i { width: 24px; height: 24px; }
  /* البنود: بند واحد ياخد العرض كله بدل نص الكارت، والحقول أصغر */
  body.has-nav .wiz-main .panel { padding: 10px 14px; margin-bottom: 8px; }
  body.has-nav .wiz-main .panel-title { margin: 0 0 6px; }
  body.has-nav .wiz-main .rrow { padding: 8px 12px; }
  body.has-nav .wiz-main .rrow-head { margin-bottom: 4px; }
  #labor > .rrow:only-child, #items > .rrow:only-child, #inspections > .rrow:only-child, #materials > .rrow:only-child,
  #waste > .rrow:only-child, #requests > .rrow:only-child, #obstacles > .rrow:only-child, #visitors > .rrow:only-child { grid-column: 1 / -1; }
  body.has-nav .wiz-main .field { margin-bottom: 6px; }
  body.has-nav .wiz-main .rgrid .field { margin-bottom: 6px; }
  body.has-nav .wiz-main .field label { margin-bottom: 2px; font-size: 12.5px; }
  body.has-nav .wiz-main .field input, body.has-nav .wiz-main .field select { padding: 6px 10px; min-height: 34px; font-size: 14px; }
  body.has-nav .wiz-main .field textarea { padding: 6px 10px; font-size: 14px; }
  /* أزرار الإضافة صغيرة بدل سطر كامل */
  body.has-nav .wiz-main .add-row { width: auto; padding: 5px 16px; margin-top: 2px; font-size: 13px; }
  body.has-nav .wiz-nav { margin-top: 8px; }
}
@media (min-width: 1100px) { body.has-nav .wiz-main .field textarea { min-height: 38px; } }

/* قائمة المهام (بلاطات): الفترة اللي كلها ✓ مطوية في سطر واحد، والفترة اللي فيها استثناء مفتوحة */
.ck-tslot h4 { display: flex; align-items: center; gap: 10px; cursor: pointer; margin: 6px 0 4px; padding: 6px 10px; border-radius: 10px; background: rgba(255,255,255,.05); user-select: none; }
.ck-tslot h4:hover { background: rgba(255,255,255,.1); }
.ck-tslot h4 span { flex: 1; color: var(--text, #fff); font-weight: bold; }
.ck-tslot h4 small { font-size: 12px; color: #ffcc80; }
.ck-tslot h4 small.all { color: #8fe3a8; }
.ck-tslot h4 i { font-style: normal; font-size: 11px; color: var(--muted); }
.ck-tslot.closed h4 { margin-bottom: 2px; }

/* خانات الكتابة الطويلة (توصيف العمل وغيره): صغيرة وبتكبر مع الكلام */
.wiz textarea { resize: none; overflow: hidden; min-height: 38px; }
.ra-table .rr-info { display: block; margin-top: 2px; font-size: 12px; color: var(--muted); font-weight: normal; }
.ra-table .rr-info.st-yellow { color: #ffd54f; }
.rr-lock { cursor: help; font-size: 12px; }
#lgDetails { resize: none; overflow: hidden; min-height: 38px; }
.link-btn.ok { color: #8fe3a8; font-weight: bold; }
.pn-table tr.late td:last-child { box-shadow: inset 3px 0 0 #ff6b5e; }
.pn-table td:first-child { max-width: 360px; }

/* ===== «التقارير اليومية» (الرئيسية + السجل): شريط «المطلوب الآن» ===== */
.td-box { padding: 0; margin-bottom: 10px; }
.td-box > summary { display: flex; align-items: center; gap: 12px; padding: 10px 14px; cursor: pointer; list-style: none; }
.td-box > summary::-webkit-details-marker { display: none; }
.td-box > summary b { font-size: 15px; }
.td-box.done > summary b { color: #8fe3a8; }
.td-box.need { border-color: rgba(255, 193, 7, .45); }
.td-box .td-date { margin-inline-start: auto; color: var(--muted); font-size: 13px; }
.td-box .td-new { text-decoration: none; margin: 0; width: auto; }
.td-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 8px 14px; border-top: 1px solid rgba(255, 255, 255, .1); }
.td-row > b { min-width: 150px; }
.td-row .td-st { flex: 1; font-size: 13px; color: var(--muted); }
.td-row .td-st .it-dot { display: inline-block; margin-inline-end: 6px; }
.td-row .td-act { display: flex; gap: 8px; margin-inline-start: auto; }
.td-row .td-act .btn { margin: 0; width: auto; }
.td-row.warn { background: rgba(255, 193, 7, .08); }
.td-row.ok > b { color: #cdeed8; }
.td-row .td-act .btn, .td-box .td-new { text-decoration: none; }
.rr-me { color: #8fe3a8; }
#iCity { opacity: .9; cursor: default; }
#pAdd .pn-open { margin: 0; width: auto; pointer-events: none; } #pAdd[open] .pn-open { display: none; }
/* سجل الدخول وقائمة المستخدمين: كارتين في الصف على الشاشات الواسعة */
@media (min-width: 1100px) {
  body.page-v2 .us-list.two { display: grid; grid-template-columns: 1fr 1fr; gap: var(--ds-space-2) 14px; }
  body.page-v2 .us-list.two .us-row.lg { grid-template-columns: 36px minmax(0, 1fr) auto auto; }
  body.page-v2 .us-list.two .us-row { min-width: 0; }
  body.page-v2 .us-list.two .us-main small { overflow: hidden; text-overflow: ellipsis; }
}
body.page-v2 .pm-t tr.pm-sec { cursor: pointer; } body.page-v2 .pm-t tr.pm-sec:hover td { background: rgba(120, 160, 220, .2); } .pm-arw { display: inline-block; width: 14px; opacity: .8; }
body.page-v2 .us-row.grp { cursor: pointer; grid-template-columns: 110px minmax(160px, 1fr) 2fr 20px; }
body.page-v2 .us-row.grp.shut { grid-template-columns: 110px minmax(160px, 1fr) 20px; }
body.page-v2 .us-code { font-style: normal; font-size: 11px; font-weight: 700; padding: 1px 7px; margin-inline-end: 8px; border-radius: 6px; background: rgba(63,169,245,.18); border: 1px solid rgba(63,169,245,.45); color: #9fd3ff; direction: ltr; display: inline-block; vertical-align: middle; }

/* المستخدمون: كارت مطوي (الاسم + علامة +) يتفتح ببياناته */
body.page-v2 .us-list.fold { align-items: start; }
body.page-v2 .us-card { background: var(--ds-surface-row); border: 1px solid var(--ds-border); border-inline-start: 3px solid var(--ds-success); border-radius: var(--ds-radius-md); min-width: 0; }
body.page-v2 .us-card.stale { border-inline-start-color: var(--ds-warning); }
body.page-v2 .us-card.open { border-color: rgba(63, 169, 245, 0.5); }
body.page-v2 .us-head { display: flex; align-items: center; gap: var(--ds-space-3); width: 100%; padding: var(--ds-space-2) var(--ds-space-3); background: none; border: 0; color: var(--ds-text); font: inherit; text-align: right; cursor: pointer; }
body.page-v2 .us-head b { flex: 1; min-width: 0; font-size: var(--ds-card-title); font-weight: 600; }
body.page-v2 .us-plus { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,0.28); border-radius: var(--ds-radius-sm); font-size: 18px; line-height: 1; }
body.page-v2 .us-head:hover .us-plus { border-color: var(--ds-primary); }
body.page-v2 .us-body { display: flex; flex-direction: column; align-items: flex-start; gap: var(--ds-space-2); padding: 0 var(--ds-space-3) var(--ds-space-3); }
body.page-v2 .us-body small { color: var(--ds-text-3); }
@media (max-width: 760px) { body.page-v2 .us-list.two.fold { grid-template-columns: 1fr; } }

body.page-v2 .us-rchecks { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 6px; }
body.page-v2 .us-rc { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }

/* المجموعات: كروت مطوية 2 في الصف زي المستخدمين */
body.page-v2 .us-list.grpl .us-row.grp, body.page-v2 .us-list.grpl .us-row.grp.shut { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding: var(--ds-space-2) var(--ds-space-3); }
body.page-v2 .us-list.grpl .us-row.grp .us-main { flex: 1; min-width: 0; }
body.page-v2 .us-list.grpl .us-row.grp .us-projs { flex-basis: 100%; order: 5; }
body.page-v2 .us-list.grpl .cg-edit { flex-basis: 100%; order: 6; }
body.page-v2 .us-list.grpl .pm-arw.us-plus { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,0.28); border-radius: var(--ds-radius-sm); font-size: 18px; }

/* المجموعة المفتوحة: متلونة وواضحة، وإضافة العضو فوق الأعضاء */
body.page-v2 .us-list.grpl .us-row.grp.open { background: rgba(63, 169, 245, 0.16); border-color: var(--ds-primary); box-shadow: 0 0 0 1px var(--ds-primary) inset; }
body.page-v2 .us-list.grpl .cg-edit { order: 4; }
body.page-v2 .us-list.grpl .us-row.grp .us-projs { order: 5; }

/* شريط التنبيهات المهمة في الرئيسية */
.alert-ticker { display: flex; align-items: center; gap: 12px; margin: 0 0 14px; padding: 6px 12px; border: 1px solid rgba(240, 120, 90, 0.55); background: rgba(190, 60, 40, 0.16); border-radius: 12px; overflow: hidden; }
.alert-ticker .tk-lbl { flex: none; font-weight: 700; white-space: nowrap; }
.alert-ticker .tk-view { flex: 1; min-width: 0; overflow: hidden; }
.alert-ticker .tk-track { display: flex; gap: 40px; width: max-content; }
.alert-ticker .tk-track.move { animation: tkmove 30s linear infinite; }
.alert-ticker:hover .tk-track { animation-play-state: paused; }
.alert-ticker .tk-it { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; color: inherit; text-decoration: none; }
.alert-ticker .tk-it:hover { text-decoration: underline; }
.alert-ticker .tk-x { flex: none; background: none; border: 0; color: inherit; cursor: pointer; opacity: .7; font-size: 16px; }
@keyframes tkmove { from { transform: translateX(0); } to { transform: translateX(50%); } }
@media (prefers-reduced-motion: reduce) { .alert-ticker .tk-track.move { animation: none; flex-wrap: wrap; width: auto; } }
.alert-ticker { margin: 10px 16px 0; }

.alert-ticker .tk-view { direction: ltr; }
.alert-ticker .tk-it { direction: rtl; }
@keyframes tkmove { from { transform: translateX(-50%); } to { transform: translateX(0); } }
.alert-ticker .tk-it.ann { padding: 0 4px; }
.alert-ticker .tk-it.ann.red b { color: #ffb4a8; }
.alert-ticker .tk-off { background: none; border: 0; color: inherit; opacity: .6; cursor: pointer; font-size: 12px; padding: 0 2px; }

body.page-v2 .drw-g { margin-bottom: 10px; } body.page-v2 .drw-g > summary { cursor: pointer; padding: 4px 2px; font-size: var(--ds-card-title); } body.page-v2 .drw-g[open] > summary { margin-bottom: 8px; }

.alert-ticker .tk-track { gap: 0; }
.alert-ticker .tk-unit { display: flex; gap: 48px; justify-content: flex-end; padding-inline-start: 48px; flex: none; box-sizing: border-box; }
@media (min-width: 900px) { .alert-ticker { margin-top: -12px; } }

/* ===== المظهر الفاتح (للاستخدام تحت الشمس) - data-theme="light" على html ===== */
/* مولَّد تلقائيًا من style.css للمظهر الفاتح */
html[data-theme="light"] .menu-card:hover { border-color: rgba(60,80,120,0.6); }
html[data-theme="light"] .menu-card .arrow { color: #0b1b3a; }
html[data-theme="light"] input, html[data-theme="light"] select { color: #0b1b3a; }
html[data-theme="light"] .notice code { background: rgba(255,255,255,0.7); }
html[data-theme="light"] .row { border: 1px solid rgba(60,80,120,0.6); }
html[data-theme="light"] .row:hover { border-color: rgba(60,80,120,0.6); }
html[data-theme="light"] .row .count { color: #005499; }
html[data-theme="light"] .modal .none { color: #394960; }
html[data-theme="light"] .summary .none { color: #394960; }
html[data-theme="light"] .chart .bar { fill: #005999; }
html[data-theme="light"] .chart .grid { stroke: rgba(11,27,58,0.75); }
html[data-theme="light"] .chart .axis { stroke: rgba(11,27,58,0.75); }
html[data-theme="light"] .chart .lbl, html[data-theme="light"] .chart .val { fill: #304a69; }
html[data-theme="light"] .chart .val { fill: #0b1b3a; }
html[data-theme="light"] .chart .hit:hover { fill: rgba(11,27,58,0.75); }
html[data-theme="light"] .chart-tip { border: 1px solid rgba(60,80,120,0.595); }
html[data-theme="light"] .table th { border-bottom: 1px solid rgba(60,80,120,0.425); }
html[data-theme="light"] .table td { border-bottom: 1px solid rgba(60,80,120,0.3); }
html[data-theme="light"] .st-red { color: #990000; }
html[data-theme="light"] .st-green { color: #009921; }
html[data-theme="light"] .st-yellow { color: #997400; }
html[data-theme="light"] .row .main > span.st-green { color: #009921; }
html[data-theme="light"] .row .main > span.st-yellow { color: #997400; }
html[data-theme="light"] .st-gray { color: #394960; }
html[data-theme="light"] .st-orange { color: #995b00; }
html[data-theme="light"] .st-blue { color: #006999; }
html[data-theme="light"] .pbar { background: rgba(11,27,58,0.108); }
html[data-theme="light"] .hbar .ht { background: rgba(11,27,58,0.09); }
html[data-theme="light"] .row-actions button { background: rgba(11,27,58,0.072); border: 1px solid rgba(60,80,120,0.51); color: #0b1b3a; }
html[data-theme="light"] .row-actions button.edit { color: #015598; }
html[data-theme="light"] .row-actions button.del { color: #8c0d0d; }
html[data-theme="light"] .row-actions button:hover { border-color: rgba(60,80,120,0.6); }
html[data-theme="light"] .checks label { background: rgba(11,27,58,0.045); }
html[data-theme="light"] .toast { border: 1px solid rgba(60,80,120,0.6); }
html[data-theme="light"] textarea { color: #0b1b3a; }
html[data-theme="light"] .info-grid div { background: rgba(11,27,58,0.045); }
html[data-theme="light"] .rrow { border: 1px solid rgba(60,80,120,0.374); background: rgba(11,27,58,0.027); }
html[data-theme="light"] .add-row { border: 1.2px dashed rgba(60,80,120,0.6); color: #0b1b3a; }
html[data-theme="light"] .add-row:hover { border-color: rgba(60,80,120,0.6); background: rgba(11,27,58,0.045); }
html[data-theme="light"] .total-labor b { color: #0b1b3a; }
html[data-theme="light"] .field-error { color: #990c00; }
html[data-theme="light"] .report-row .edit-link { color: #015598; }
html[data-theme="light"] .report-row .edit-locked { color: rgba(11,27,58,0.75); }
html[data-theme="light"] .obs-meta b { color: #0b1b3a; }
html[data-theme="light"] .pill.warn { color: #995b00; }
html[data-theme="light"] .pill.ok { color: #009921; }
html[data-theme="light"] .pill.prio.high { color: #990c00; }
html[data-theme="light"] .pill.prio.mid { color: #997400; }
html[data-theme="light"] .pill.prio.low { color: #006999; }
html[data-theme="light"] .plan-head { border-bottom: 1px solid rgba(60,80,120,0.306); }
html[data-theme="light"] .sec > summary:hover { background: rgba(11,27,58,0.036); }
html[data-theme="light"] .sec .menu-card { background: rgba(11,27,58,0.036); }
html[data-theme="light"] .d3 .glass { background: linear-gradient(150deg, #ffffff 0%, #ffffff 55%, #ffffff 100%); border: 1.2px solid rgba(60,80,120,0.442); border-top-color: rgba(60,80,120,0.6); border-bottom-color: rgba(60,80,120,0.3); }
html[data-theme="light"] .d3 .menu-card::after { background: radial-gradient(240px circle at var(--mx, 50%) var(--my, 0%), rgba(11,27,58,0.144), transparent 60%); }
html[data-theme="light"] .d3 .menu-card:hover { border-color: rgba(60,80,120,0.6); border-top-color: rgba(60,80,120,0.6); }
html[data-theme="light"] .d3 .sec > summary:hover { background: rgba(11,27,58,0.045); }
html[data-theme="light"] .d3 .sec .menu-card { background: linear-gradient(150deg, rgba(58,86,138,.7), #ffffff); }
html[data-theme="light"] .d3 .btn { border: 1px solid rgba(60,80,120,0.595); border-top-color: rgba(60,80,120,0.6); }
html[data-theme="light"] .d3 .btn.secondary { background: linear-gradient(180deg, rgba(70,96,146,.7) 0%, #ffffff 100%); }
@media (min-width: 900px) {
  html[data-theme="light"] body.nb::before { background-image: linear-gradient(180deg, rgba(255,255,255,0.75) 0%, rgba(255,255,255,0.63) 100%),
      url("../img/bg_wide.jpg"); }
  html[data-theme="light"] body.nb .page::after { color: rgba(24,71,129,0.92); }
  html[data-theme="light"] body.nb .nb-dev { color: rgba(28,69,125,0.98); }
  html[data-theme="light"] body.nb .nb-dev b { color: #0b1b3a; }
}
@media (max-width: 899px) {
  html[data-theme="light"] body.nb .nb-dev { color: rgba(28,70,125,0.95); }
  html[data-theme="light"] body.nb .nb-dev b { color: #0b1b3a; }
  html[data-theme="light"] body.nb .page::after { color: rgba(28,70,125,0.95); }
}
html[data-theme="light"] body.login::before { background-image: linear-gradient(180deg, rgba(255,255,255,0.75) 0%, rgba(255,255,255,0.63) 100%),
    url("../img/bg_wide.jpg"); }
@media (max-width: 899px) {
  html[data-theme="light"] body.nb::before { background-image: linear-gradient(180deg, rgba(255,255,255,0.75) 0%, rgba(255,255,255,0.63) 100%),
      url("../img/bg_wide.jpg"); }
}
@media (min-width: 900px) {
  html[data-theme="light"] body.nb .topbar { background: linear-gradient(180deg, #ffffff, #ffffff); border-bottom: 1px solid rgba(60,80,120,0.3); }
  html[data-theme="light"] body.nb .topbar::before { border-inline-end: 1px solid rgba(60,80,120,0.34); }
  html[data-theme="light"] body.nb .topbar > a { border: 1px solid rgba(60,80,120,0.442); background: rgba(11,27,58,0.063); color: #0b1b3a; }
  html[data-theme="light"] body.nb .topbar > a:hover { background: rgba(11,27,58,0.135); border-color: rgba(60,80,120,0.6); }
  html[data-theme="light"] body.nb #userBar > span { background: rgba(11,27,58,0.054); border: 1px solid rgba(60,80,120,0.3); }
  html[data-theme="light"] body.nb #userBar .link-btn.danger { background: rgba(255,255,255,0.63); color: #990000; }
}
@media (min-width: 900px) {
  html[data-theme="light"] body.nb .glass, html[data-theme="light"] body.nb .panel, html[data-theme="light"] body.nb .stat, html[data-theme="light"] body.nb .obs, html[data-theme="light"] body.nb .menu-card, html[data-theme="light"] body.nb .sec .menu-card, html[data-theme="light"] body.nb .login-box { background: linear-gradient(150deg, rgba(60, 94, 152, .30), rgba(255,255,255,0.85)); border-color: rgba(60,80,120,0.34); border-top-color: rgba(60,80,120,0.6); }
  html[data-theme="light"] body.nb .menu-card:hover, html[data-theme="light"] body.nb .obs:hover { background: linear-gradient(150deg, rgba(74, 112, 176, .34), rgba(255,255,255,0.83)); }
  html[data-theme="light"] body.nb .sec > summary { background: linear-gradient(150deg, rgba(60, 94, 152, .26), rgba(255,255,255,0.83)); border: 1px solid rgba(60,80,120,0.34); border-top-color: rgba(60,80,120,0.6); }
  html[data-theme="light"] body.nb .sec > summary:hover { background: linear-gradient(150deg, rgba(74, 112, 176, .34), rgba(255,255,255,0.87)); }
  html[data-theme="light"] body.nb .row { background: rgba(255,255,255,0.79); border-color: rgba(60,80,120,0.578); }
  html[data-theme="light"] body.nb input, html[data-theme="light"] body.nb select, html[data-theme="light"] body.nb textarea { background: rgba(255,255,255,0.95); }
  html[data-theme="light"] body.nb .rrow { background: rgba(11,27,58,0.018); }
  html[data-theme="light"] body.nb .info-grid div { background: rgba(11,27,58,0.054); }
  html[data-theme="light"] body.nb .menu-card .text > span, html[data-theme="light"] body.nb .subtitle, html[data-theme="light"] body.nb .muted { color: #234976; }
}
html[data-theme="light"] .pcard::after { background: radial-gradient(260px circle at var(--mx, 50%) var(--my, 0%), rgba(11,27,58,0.144), transparent 60%); }
html[data-theme="light"] .pcard:hover { border-color: rgba(60,80,120,0.6); }
html[data-theme="light"] .pc-head .pct { color: #005499; }
html[data-theme="light"] .chip { border: 1px solid rgba(60,80,120,0.425); background: rgba(11,27,58,0.072); }
html[data-theme="light"] .chip.ok { color: #178237; }
html[data-theme="light"] .chip.warn { color: #995a00; }
@media (min-width: 900px) {
  html[data-theme="light"] body.nb .dqsec { background: linear-gradient(150deg, rgba(60, 94, 152, .34), #ffffff); border: 1px solid rgba(60,80,120,0.34); border-top-color: rgba(60,80,120,0.6); }
}
html[data-theme="light"] .tabs button { color: #174782; border: 1.2px solid rgba(60,80,120,0.374); border-top-color: rgba(60,80,120,0.6); background: linear-gradient(160deg, rgba(60,94,152,.40), #ffffff); }
html[data-theme="light"] .tabs button:hover { border-color: rgba(60,80,120,0.6); }
html[data-theme="light"] .tabs button.on { color: #0b1b3a; background: linear-gradient(160deg, rgba(40,110,200,.75), #ffffff); }
html[data-theme="light"] .legend .c-off { background: rgba(11,27,58,0.225); }
html[data-theme="light"] .cal-d { color: #0b1b3a; border: 1px solid rgba(60,80,120,0.3); background: rgba(11,27,58,0.045); }
html[data-theme="light"] .cal-d.has { background: linear-gradient(150deg, rgba(46,160,90,.65), #ffffff); }
html[data-theme="light"] .cal-d.miss { background: linear-gradient(150deg, rgba(200,67,58,.55), #ffffff); }
html[data-theme="light"] .seg { border: 1px solid rgba(60,80,120,0.51); }
html[data-theme="light"] .seg button { color: #0b1b3a; background: rgba(11,27,58,0.054); }
html[data-theme="light"] .la-banner:hover { border-color: rgba(60,80,120,0.6); }
html[data-theme="light"] .row.la { border-inline-start: 4px solid rgba(60,80,120,0.425); }
html[data-theme="light"] body.nb .section-title { color: #174782; }
html[data-theme="light"] .g-axis { border-bottom: 1px solid rgba(60,80,120,0.51); }
html[data-theme="light"] .g-gl { background: rgba(11,27,58,0.09); }
html[data-theme="light"] .g-today b { color: #997400; }
html[data-theme="light"] .g-row { border-bottom: 1px solid rgba(60,80,120,0.3); }
html[data-theme="light"] .g-row:hover { background: rgba(11,27,58,0.036); }
html[data-theme="light"] .g-bar span { color: #0b1b3a; }
html[data-theme="light"] .kcol { border: 1px solid rgba(60,80,120,0.306); background: rgba(255,255,255,0.8); }
html[data-theme="light"] .kcol.open header b { color: #995a00; }
html[data-theme="light"] .kcol.progress header b { color: #005499; }
html[data-theme="light"] .kcol.resolved header b { color: #178237; }
html[data-theme="light"] .kcount { background: rgba(11,27,58,0.108); }
html[data-theme="light"] .kcol.over { background: rgba(255,255,255,0.8); }
html[data-theme="light"] .kempty { border: 1px dashed rgba(60,80,120,0.34); }
html[data-theme="light"] .pill.prog { color: #005999; }
html[data-theme="light"] .stats.four .st-blue, html[data-theme="light"] .st-blue { color: #005499; }
html[data-theme="light"] .kb-col { border: 1px solid rgba(60,80,120,0.306); border-top-color: rgba(60,80,120,0.6); background: rgba(255,255,255,0.83); }
html[data-theme="light"] .kb-n { background: rgba(11,27,58,0.126); }
html[data-theme="light"] .hdot { color: #384861; }
html[data-theme="light"] .hdot.h-green { color: #158441; }
html[data-theme="light"] .hdot.h-yellow { color: #996b00; }
html[data-theme="light"] .hdot.h-red { color: #990900; }
html[data-theme="light"] .hdot.h-gray { color: #384861; }
html[data-theme="light"] .cal-d.cg:hover { border-color: rgba(60,80,120,0.6); }
html[data-theme="light"] .dc { border: 1px solid rgba(60,80,120,0.425); background: rgba(11,27,58,0.072); }
html[data-theme="light"] .bell-btn { border: 1px solid rgba(60,80,120,0.442); background: rgba(11,27,58,0.063); color: #0b1b3a; }
html[data-theme="light"] .bell-btn:hover, html[data-theme="light"] .bell-btn[aria-expanded="true"] { background: rgba(11,27,58,0.144); }
html[data-theme="light"] .bell-panel { border: 1px solid rgba(60,80,120,0.374); }
html[data-theme="light"] .bell-h { border-bottom: 1px solid rgba(60,80,120,0.3); }
html[data-theme="light"] .bell-it { color: #0b1b3a; }
html[data-theme="light"] .bell-it:hover { background: rgba(11,27,58,0.081); }
html[data-theme="light"] .bell-it span { color: #274372; }
html[data-theme="light"] .bell-f { border-top: 1px solid rgba(60,80,120,0.3); }
html[data-theme="light"] .wiz-tab { color: #0b1b3a; border: 1px solid rgba(60,80,120,0.34); background: #ffffff; }
html[data-theme="light"] .wiz-tab:hover { background: rgba(11,27,58,0.108); }
html[data-theme="light"] .wiz-tab i { background: rgba(11,27,58,0.126); }
html[data-theme="light"] .wiz-tab em { color: #28712b; }
html[data-theme="light"] .wiz-tab.on { border-color: rgba(60,80,120,0.6); }
html[data-theme="light"] .wiz-tab.on i { background: rgba(11,27,58,0.252); }
html[data-theme="light"] .sub-card.open { border-color: rgba(60,80,120,0.6); }
html[data-theme="light"] .tbl tr.clickable:hover { background: rgba(11,27,58,0.072); }
html[data-theme="light"] .vz-big { fill: #0b1b3a; }
html[data-theme="light"] .vz-sm { fill: #2a456f; }
html[data-theme="light"] .vz-grid { stroke: rgba(11,27,58,0.75); }
html[data-theme="light"] .vz-ax { fill: #2e466b; }
html[data-theme="light"] .vz-pr:hover { background: rgba(11,27,58,0.063); }
html[data-theme="light"] .vz-tip { background: #ffffff; border: 1px solid rgba(60,80,120,0.425); color: #0b1b3a; }
html[data-theme="light"] .wp-t span { color: #995b00; }
html[data-theme="light"] .wiz-review { border-top: 1px dashed rgba(60,80,120,0.34); }
html[data-theme="light"] .rv { color: #0b1b3a; border: 1px solid rgba(60,80,120,0.34); background: rgba(11,27,58,0.054); }
html[data-theme="light"] .rv:hover { background: rgba(11,27,58,0.126); }
@media (min-width: 1100px) {
  html[data-theme="light"] body.has-nav .wiz-rail { background: #ffffff; border: 1px solid rgba(60,80,120,0.3); }
}
html[data-theme="light"] .it-row { border: 1px solid rgba(60,80,120,0.3); background: rgba(11,27,58,0.045); }
html[data-theme="light"] .it-row.clickable:hover { background: rgba(11,27,58,0.09); }
html[data-theme="light"] .chk-role { background: rgba(11,27,58,0.054); border: 1px solid rgba(60,80,120,0.3); }
html[data-theme="light"] .chk-role b { background: rgba(11,27,58,0.108); }
html[data-theme="light"] .chk-role.full b { color: #178237; }
html[data-theme="light"] .chk-row { border: 1px solid rgba(60,80,120,0.3); background: rgba(11,27,58,0.036); }
html[data-theme="light"] .chk-b { background: rgba(11,27,58,0.063); border: 1px solid rgba(60,80,120,0.34); }
html[data-theme="light"] .ck-slot { border: 1px solid rgba(60,80,120,0.3); background: rgba(11,27,58,0.036); }
html[data-theme="light"] .hr-reason { border-bottom: 1px solid rgba(60,80,120,0.3); }
html[data-theme="light"] .hr-line { stroke: #0a468f; }
html[data-theme="light"] .hr-dot { fill: #0a468f; }
html[data-theme="light"] .ap-chip.ap-ok { color: #178237; }
html[data-theme="light"] .ap-chip.ap-bad { color: #991800; }
html[data-theme="light"] .ap-chip.ap-pending { color: #947305; }
html[data-theme="light"] .ap-box { border: 1px solid rgba(60,80,120,0.3); background: rgba(11,27,58,0.045); }
html[data-theme="light"] .ap-tabs button { background: rgba(11,27,58,0.054); border: 1px solid rgba(60,80,120,0.3); }
html[data-theme="light"] .ap-returned a { color: #991c00; }
html[data-theme="light"] .wx { background: rgba(11,27,58,0.045); border: 1px solid rgba(60,80,120,0.3); }
html[data-theme="light"] .sub-title { color: #003699; }
html[data-theme="light"] .pl-meta { color: #164283; }
html[data-theme="light"] .rt-card { border: 1px solid rgba(60,80,120,0.3); background: rgba(11,27,58,0.036); }
html[data-theme="light"] .rt-b { color: #003699; background: rgba(11,27,58,0.054); border: 1px solid rgba(60,80,120,0.34); }
html[data-theme="light"] .rt-b.fill { color: #0b1b3a; }
html[data-theme="light"] .ev-detail td { background: rgba(11,27,58,0.027); }
html[data-theme="light"] .today-strip .ts-l { color: #003699; }
html[data-theme="light"] .ts-c { background: rgba(11,27,58,0.054); border: 1px solid rgba(60,80,120,0.3); }
html[data-theme="light"] .ts-c.ok b { color: #178237; }
html[data-theme="light"] .ts-c.bad b { color: #991800; }
html[data-theme="light"] .ts-c:hover { background: rgba(11,27,58,0.108); }
html[data-theme="light"] .ck-rc, html[data-theme="light"] .ck-rb { background: rgba(11,27,58,0.045); border: 1px solid rgba(60,80,120,0.3); }
html[data-theme="light"] .ck-ring .trk { stroke: rgba(11,27,58,0.75); }
html[data-theme="light"] .ck-ring text { fill: #0b1b3a; }
html[data-theme="light"] .ck-ring.go .val { stroke: #0a468f; }
html[data-theme="light"] .ck-ring.ok .val { stroke: #158441; }
html[data-theme="light"] .ck-ring.warn .val { stroke: #967303; }
html[data-theme="light"] .ck-off { border: 2px dashed rgba(60,80,120,0.425); }
html[data-theme="light"] .ck-bar { background: rgba(11,27,58,0.036); }
html[data-theme="light"] .ck-tls::before { background: rgba(11,27,58,0.108); }
html[data-theme="light"] .ck-tlr { border-inline-start: 4px solid rgba(60,80,120,0.306); }
html[data-theme="light"] .ck-tlr.yes .chk-t { color: #1f7a3b; }
html[data-theme="light"] .ck-seg { border: 1px solid rgba(60,80,120,0.374); }
html[data-theme="light"] .ck-seg .chk-b + .chk-b { border-inline-start: 1px solid rgba(60,80,120,0.374); }
html[data-theme="light"] .ck-stack { background: rgba(11,27,58,0.09); }
html[data-theme="light"] .ck-ic { border: 2px solid rgba(60,80,120,0.595); }
html[data-theme="light"] .lab-abs { color: #991d00; }
html[data-theme="light"] .lg-type span { background: rgba(11,27,58,0.054); border: 1px solid rgba(60,80,120,0.3); }
html[data-theme="light"] .lg-month { color: #003699; }
html[data-theme="light"] .lg-item::before { background: rgba(11,27,58,0.108); }
html[data-theme="light"] .lg-dot { background: rgba(11,27,58,0.072); border: 2px solid rgba(60,80,120,0.34); }
html[data-theme="light"] .ub-name { color: #003c99; }
html[data-theme="light"] .ls-row.fixed em { background: rgba(11,27,58,0.09); }
html[data-theme="light"] .ls-btn { border: 1px solid rgba(60,80,120,0.306); background: rgba(11,27,58,0.054); }
html[data-theme="light"] .ls-btn:hover:not(:disabled) { background: rgba(11,27,58,0.126); }
html[data-theme="light"] .report-row .del-link { color: #990c00; }
html[data-theme="light"] .rrow .lab-work { border-top: 1px dashed rgba(60,80,120,0.3); }
html[data-theme="light"] .report-row .rr-b { color: #003799; background: rgba(11,27,58,0.063); border: 1px solid rgba(60,80,120,0.374); }
html[data-theme="light"] .report-row .rr-b:hover { background: rgba(11,27,58,0.144); }
html[data-theme="light"] .report-row .rr-b.edit-link { color: #0b1b3a; }
html[data-theme="light"] .report-row .rr-b.del { color: #990000; }
html[data-theme="light"] body.page-v2 .btn.secondary { background: rgba(11,27,58,0.054); }
html[data-theme="light"] body.page-v2 .um-btn { background: rgba(11,27,58,0.054); }
html[data-theme="light"] body.page-v2 .um-item:hover { background: rgba(11,27,58,0.063); }
html[data-theme="light"] body.page-v2 .btn.ghost { border: 1px solid rgba(60,80,120,0.476); }
html[data-theme="light"] body.page-v2 .btn.ghost:hover { background: rgba(11,27,58,0.054); }
html[data-theme="light"] body.page-v2 .report-row .rr-b.edit-link { color: #0b1b3a; }
html[data-theme="light"] body.page-v2 .report-row .rr-b.ghost { border: 1px solid rgba(60,80,120,0.476); }
html[data-theme="light"] body.page-v2 .report-row .rr-b.ghost:hover { background: rgba(11,27,58,0.054); }
html[data-theme="light"] body.page-v2 .report-row .rr-b.del:hover, html[data-theme="light"] body.page-v2 .report-row .rr-b.del:focus-visible { color: #0b1b3a; }
html[data-theme="light"] body.page-v2 .table td { border-bottom-color: rgba(60,80,120,0.3); }
html[data-theme="light"] body.page-v2 .table tbody tr:hover td { background: rgba(11,27,58,0.027); }
html[data-theme="light"] body.page-v2 .us-role.r-admin, html[data-theme="light"] body.page-v2 .us-role.r-manager { color: #005099; }
html[data-theme="light"] body.page-v2 .us-role.r-hr, html[data-theme="light"] body.page-v2 .us-role.r-followup, html[data-theme="light"] body.page-v2 .us-role.r-planning, html[data-theme="light"] body.page-v2 .us-role.r-basma, html[data-theme="light"] body.page-v2 .us-role.r-ohda, html[data-theme="light"] body.page-v2 .us-role.r-ohrep { color: #350099; }
html[data-theme="light"] body.page-v2 .us-edit { border: 1px solid rgba(60,80,120,0.476); }
html[data-theme="light"] body.page-v2 .ad-set { border-bottom: 1px solid rgba(60,80,120,0.3); }
html[data-theme="light"] body.page-v2 .ad-counts > div { border-bottom: 1px solid rgba(60,80,120,0.3); }
html[data-theme="light"] body.page-v2 .it-wrap { background: #ffffff; }
html[data-theme="light"] body.page-v2 .it-table th { background: rgba(11,27,58,0.036); }
html[data-theme="light"] body.page-v2 .it-table td { border-bottom-color: rgba(60,80,120,0.3); }
html[data-theme="light"] body.page-v2 .it-table input { background: rgba(255,255,255,0.63); }
html[data-theme="light"] body.page-v2 .it-del:hover { color: #0b1b3a; }
html[data-theme="light"] .login-foot b { color: rgba(24,71,129,0.92); }
html[data-theme="light"] .login-foot span { color: rgba(20,69,133,0.98); }
html[data-theme="light"] body.page-v2 .pend-banner { background: #ffffff; }
html[data-theme="light"] .pj-card { background: rgba(11,27,58,0.036); }
html[data-theme="light"] .pj-card { background: linear-gradient(110deg, rgba(11,27,58,0.045) 30%, rgba(11,27,58,0.108) 50%, rgba(11,27,58,0.045) 70%) 0 0 / 300% 100%; }
html[data-theme="light"] .pj-card:has(img.ok) { background: rgba(11,27,58,0.036); }
html[data-theme="light"] .pj-card figcaption { background: linear-gradient(180deg, transparent, #ffffff 55%); }
html[data-theme="light"] .pj-card figcaption b { color: #0b1b3a; }
html[data-theme="light"] .sec-links { background: #ffffff; }
html[data-theme="light"] .sec-links-t { border-bottom: 1px solid rgba(60,80,120,0.3); }
html[data-theme="light"] .sec-links a { border-bottom: 1px solid rgba(60,80,120,0.3); }
html[data-theme="light"] body.page-v2 .pm-wrap { background: #ffffff; }
html[data-theme="light"] html:not([data-theme="light"]) body.page-v2 .us-row { background: #ffffff; }
html[data-theme="light"] html:not([data-theme="light"]) body.page-v2 .us-row:hover { background: #ffffff; }
html[data-theme="light"] .att-empty { border: 1px dashed var(--ds-border, rgba(60,80,120,0.3)); }
html[data-theme="light"] .att-w { border: 1px solid var(--ds-border, rgba(60,80,120,0.3)); background: var(--ds-surface-row, rgba(11,27,58,0.036)); }
html[data-theme="light"] table.att-t th, html[data-theme="light"] table.att-t td { border: 1px solid var(--ds-border, rgba(60,80,120,0.3)); }
html[data-theme="light"] table.att-t .tot { background: var(--ds-surface-row-hover, rgba(11,27,58,0.072)); }
@media (min-width: 900px) {
  html[data-theme="light"] body.nb .nb-dev .nb-dev-c { color: rgba(24,71,129,0.95); }
}
html[data-theme="light"] .ck-tslot h4 { background: rgba(11,27,58,0.045); }
html[data-theme="light"] .ck-tslot h4:hover { background: rgba(11,27,58,0.09); }
html[data-theme="light"] .ck-tslot h4 small { color: #995c00; }
html[data-theme="light"] .ck-tslot h4 small.all { color: #178237; }
html[data-theme="light"] .ra-table .rr-info.st-yellow { color: #997400; }
html[data-theme="light"] .link-btn.ok { color: #178237; }
html[data-theme="light"] .td-box.done > summary b { color: #178237; }
html[data-theme="light"] .td-row { border-top: 1px solid rgba(60,80,120,0.3); }
html[data-theme="light"] .td-row.ok > b { color: #1f7a3d; }
html[data-theme="light"] .rr-me { color: #178237; }
html[data-theme="light"] body.page-v2 .us-code { color: #005399; }
html[data-theme="light"] body.page-v2 .us-plus { border: 1px solid rgba(60,80,120,0.476); }
html[data-theme="light"] body.page-v2 .us-list.grpl .pm-arw.us-plus { border: 1px solid rgba(60,80,120,0.476); }
html[data-theme="light"] .alert-ticker .tk-it.ann.red b { color: #991500; }

/* معاينة: الثيم الفاتح (للاستخدام تحت الشمس) - تباين عالي، بلا صورة خلفية، حدود واضحة */
html[data-theme="light"], html[data-theme="light"] body, html[data-theme="light"] body.page-v2 {
  --bg-top: #f4f7fb; --bg-bottom: #e8eef6;
  --card: #ffffff; --card-strong: #ffffff; --card-border: #7f93b0;
  --input: #ffffff; --input-border: #4b6286;
  --text: #0b1b3a; --muted: #3c4f6e;
  --accent: #0b5cb8; --yellow: #8a5a00; --green: #1b6b36; --danger: #b3261e;
  --icon-box: #e6f1fd; --icon-box-border: #9cc3ec;
  --ds-primary: #0b5cb8; --ds-success: #1b6b36; --ds-warning: #8a5a00; --ds-danger: #b3261e;
  --ds-text: #0b1b3a; --ds-text-2: #2c3f5f; --ds-text-3: #4b5f80;
  --ds-border: #8da1bf; --ds-surface-row: rgba(255,255,255,.58); --ds-surface-row-hover: rgba(234,242,252,.82);
  color-scheme: light;
}
html[data-theme="light"] { background: #eaf1fa; color: #0b1b3a; }
html[data-theme="light"] body { background: transparent; color: #0b1b3a; }
html[data-theme="light"] body.nb::before, html[data-theme="light"] body.login::before { background-color: #eaf1fa !important; background-image: url("../img/bg_light.jpg") !important; background-size: cover !important; background-position: center bottom !important; background-repeat: no-repeat !important; }
html[data-theme="light"] body::after { display: none; }
html[data-theme="light"] body.nb .topbar { background: #ffffff; border-bottom: 2px solid #8da1bf; box-shadow: 0 2px 8px rgba(11,27,58,.12); }
html[data-theme="light"] body.nb .topbar > a, html[data-theme="light"] body.nb #userBar > span { background: #f2f6fb; border: 1.5px solid #6c82a3; color: #0b1b3a; }
html[data-theme="light"] body.nb #userBar > span * { color: inherit; }
html[data-theme="light"] body.nb #userBar .link-btn.danger { background: #fdecea; color: #b3261e; border-color: #b3261e; }
html[data-theme="light"] body.nb .glass, html[data-theme="light"] body.nb .panel, html[data-theme="light"] body.nb .menu-card, html[data-theme="light"] body.nb .stat, html[data-theme="light"] body.nb .obs, html[data-theme="light"] body.nb .row {
  background: rgba(255,255,255,.58); backdrop-filter: blur(3px); border: 1.5px solid #7f93b0; border-top-color: #7f93b0;
  box-shadow: 0 2px 6px rgba(11,27,58,.14); text-shadow: none; color: #0b1b3a;
}
html[data-theme="light"] body.nb .menu-card:hover { background: #eaf2fc; border-color: #0b5cb8; }
html[data-theme="light"] body.nb .menu-card .text b { color: #0b1b3a; text-shadow: none; }
html[data-theme="light"] body.nb .menu-card .text > span { color: #3c4f6e; text-shadow: none; }
html[data-theme="light"] .menu-card .arrow { color: #0b1b3a; opacity: 1; text-shadow: none; }
html[data-theme="light"] .menu-card .icon-box { border: 1.5px solid #9cc3ec; box-shadow: none; }
html[data-theme="light"] body.nb .page-head h1, html[data-theme="light"] body.nb h1.title { color: #0b1b3a; text-shadow: none; }
html[data-theme="light"] body.nb .page::after { color: #3c4f6e; }
html[data-theme="light"] body.nb .page::before { color: #4b5f80; }
html[data-theme="light"] .btn, html[data-theme="light"] button.btn { background: #0b5cb8; color: #fff; border-color: #084a96; }
html[data-theme="light"] input, html[data-theme="light"] select, html[data-theme="light"] textarea { background: #fff !important; color: #0b1b3a; border: 1.5px solid #4b6286; box-shadow: none !important; }
html[data-theme="light"] .theme-btn { background: #f2f6fb; color: #0b1b3a; border-color: #6c82a3; }
.theme-btn { cursor: pointer; font: inherit; font-size: 15px; padding: 7px 12px; border-radius: 10px; border: 1px solid rgba(255,255,255,.26); background: rgba(255,255,255,.07); color: #fff; }

html[data-theme="light"] body.nb .topbar::before { background-image: url("../img/print_company.png"); border-inline-end-color: #8da1bf; }
html[data-theme="light"] .menu-card .icon-box { background: #ffffff; border: 1.5px solid #7f93b0; }
html[data-theme="light"] .um-btn { background: #f2f6fb; border: 1.5px solid #6c82a3; color: #0b1b3a; }
html[data-theme="light"] .um-name, html[data-theme="light"] .um-caret, html[data-theme="light"] .um-btn * { color: #0b1b3a; }
html[data-theme="light"] .um-menu { background: #fff; border: 1.5px solid #6c82a3; color: #0b1b3a; box-shadow: 0 6px 18px rgba(11,27,58,.2); }
html[data-theme="light"] .um-head span { color: #3c4f6e; }
html[data-theme="light"] .um-item { color: #0b1b3a; }
html[data-theme="light"] .um-item.danger { color: #b3261e; }
html[data-theme="light"] .um-item:hover { background: #eaf2fc; }
html[data-theme="light"] .bell, html[data-theme="light"] #bellBtn, html[data-theme="light"] .bell-btn { background: #f2f6fb; border: 1.5px solid #6c82a3; color: #0b1b3a; }
html[data-theme="light"] .pj-card { border: 1.5px solid #7f93b0; }
html[data-theme="light"] .pj-head h2 { color: #0b1b3a; }

html[data-theme="light"] body.nb .sec > summary, html[data-theme="light"] body.nb .dqsec { background: #ffffff; backdrop-filter: none; border: 1.5px solid #7f93b0; box-shadow: 0 2px 6px rgba(11,27,58,.14); text-shadow: none; }
html[data-theme="light"] body.nb .sec > summary:hover { background: #eaf2fc; }
html[data-theme="light"] .btn.secondary, html[data-theme="light"] .btn.ghost, html[data-theme="light"] .d3 .btn.secondary { color: #0b1b3a; background: #f2f6fb; border: 1.5px solid #6c82a3; }
html[data-theme="light"] .btn:disabled, html[data-theme="light"] .btn[disabled] { background: #d5deeb; color: #4b5f80; border-color: #9aa9c2; opacity: 1; }
html[data-theme="light"] .modal-backdrop { background: rgba(11,27,58,.5); }
html[data-theme="light"] .modal, html[data-theme="light"] .bell-panel, html[data-theme="light"] .vz-tip { background: #ffffff; color: #0b1b3a; border: 1.5px solid #7f93b0; box-shadow: 0 12px 32px rgba(11,27,58,.3); }
html[data-theme="light"] .modal h2, html[data-theme="light"] .modal h3, html[data-theme="light"] .modal label, html[data-theme="light"] .modal p, html[data-theme="light"] .modal li, html[data-theme="light"] .bell-panel * { color: #0b1b3a; }
html[data-theme="light"] .modal .hint, html[data-theme="light"] .modal small { color: #3c4f6e; }
html[data-theme="light"] .toast { background: #0b1f3f; color: #fff; }

/* القائمة الجانبية الفاتحة */
html[data-theme="light"] .sidenav { background: #ffffff; border: 1.5px solid #7f93b0; box-shadow: 0 2px 8px rgba(11,27,58,.16); backdrop-filter: none; color: #0b1b3a; --muted:#3c4f6e; --text:#0b1b3a; }
html[data-theme="light"] .sidenav a { color: #1d3358; }
html[data-theme="light"] .sidenav a svg, html[data-theme="light"] .sn-t svg { color: #0b5cb8; }
html[data-theme="light"] .sidenav a:hover { background: #eaf2fc; color: #0b1b3a; }
html[data-theme="light"] .sidenav a.on { background: #0b5cb8; color: #fff; }
html[data-theme="light"] .sidenav a.on svg { color: #fff; }
html[data-theme="light"] .sn-t { background: #eaf2fc; color: #0b1b3a; border: 1px solid #b9cde6; }
html[data-theme="light"] .sn-sec b { color: #0b1b3a; }
html[data-theme="light"] .sn-sec { border-bottom-color: #b9cde6; }
html[data-theme="light"] .sn-g.sub > a { border-inline-start-color: #b9cde6; }
html[data-theme="light"] .sn-step { color: #1d3358; }
html[data-theme="light"] .sn-step:hover { background: #eaf2fc; color: #0b1b3a; }
html[data-theme="light"] .sn-step.on { background: #0b5cb8; color: #fff; }
html[data-theme="light"] .sn-step i { background: #d5deeb; color: #0b1b3a; }
html[data-theme="light"] .sn-step.done i { background: #1b6b36; color: #fff; }
html[data-theme="light"] .sn-step.seen i { background: #e6b800; color: #0b1b3a; }
html[data-theme="light"] .sn-sec span { color: #3c4f6e; }
html[data-theme="light"] .sn-step sup { color: #b3261e; }
html[data-theme="light"] .sn-scrim { background: rgba(11,27,58,.5); }
html[data-theme="light"] .sn-step em { background: #d6e8da; color: #14532d; }
html[data-theme="light"] .sn-step.on em { background: #ffffff; color: #0b3d7a; }
html[data-theme="light"] .brand img { content: url("../img/print_company.png"); }

/* حقوق الملكية: الاسم Bold وبلون أغمق (2026-10-09) */
@media (min-width: 900px) { html[data-theme="light"] body.nb .page::before { color: #0b2d5b; font-weight: 700; } html[data-theme="light"] body.nb .page::after { color: #1c3a63; font-weight: 600; } }
@media (max-width: 899px) { html[data-theme="light"] body.nb .page::after { color: #0b2d5b; font-weight: 700; } }
html[data-theme="light"] .login-foot span { color: #0b2a55; font-weight: 400; }
html[data-theme="light"] .login-foot span strong { color: #061a38; font-weight: 600; }
html[data-theme="light"] .login-foot b { color: #1c3a63; }
html[data-theme="light"] .chk-role.on { background: #0b5cb8; border-color: #0b5cb8; color: #fff; }
html[data-theme="light"] .chk-role.on b { background: rgba(255,255,255,.28); color: #fff; }
html[data-theme="light"] .sidenav { scrollbar-width: thin; scrollbar-color: #9cc3ec transparent; }
html[data-theme="light"] body.nb .nb-dev { color: #0b2d5b; }
html[data-theme="light"] body.nb .nb-dev b { color: #061a38; font-weight: 600; }
@media (min-width: 900px) { html[data-theme="light"] body.nb .nb-dev .nb-dev-c { color: #1c3a63; font-weight: 600; } }

.mig-list{margin:0 0 .6rem;padding-inline-start:1.1rem}.mig-list li{margin:.35rem 0}
.dash{margin-bottom:var(--ds-space-3,12px)}.dash .stats{margin-bottom:.8rem}.dash-tile{text-decoration:none;color:inherit}
.dash-alerts{list-style:none;margin:0;padding:0}.dash-alerts li{padding:.45rem .2rem;border-bottom:1px solid rgba(255,255,255,.08)}.dash-alerts li:last-child{border:0}
.dash-alerts a{color:inherit;text-decoration:none}.dash-alerts li.red{border-inline-start:3px solid #e5484d;padding-inline-start:.6rem}.dash-alerts li.orange{border-inline-start:3px solid #f5a623;padding-inline-start:.6rem}

.dash-new{display:block;text-align:center;font-size:1.15rem;padding:.95rem 1rem;margin:.2rem 0 .8rem;text-decoration:none}
.pwa-bar{position:fixed;inset-inline:12px;bottom:12px;z-index:60;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;padding:.7rem .9rem}.pwa-bar span{flex:1;min-width:12rem}

.dash-strip{display:flex;gap:.5rem;flex-wrap:wrap;margin:0 0 .8rem}
.dash-chip{flex:1;min-width:8.5rem;display:flex;align-items:center;gap:.55rem;padding:.45rem .8rem;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);color:inherit;text-decoration:none;font-size:.9rem}
.dash-chip b{font-size:1.15rem;min-width:1.4rem;text-align:center}
.dash-chip.ok b{color:#3ddc97}.dash-chip.warn{border-color:#f5a623}.dash-chip.warn b{color:#f5a623}.dash-chip.bad{border-color:#e5484d}.dash-chip.bad b{color:#ff6b6f}

.dash-lbl{font-weight:700;font-size:.85rem;color:#cfe0ff;display:flex;align-items:center;white-space:nowrap}
.dash .dash-lbl{margin-bottom:.4rem}
/* الرئيسية: المستطيل الزجاجي أقل ارتفاعًا (اللوجوهات بحجمها) وصور المشاريع أكبر، عشان كله يظهر من غير scroll */
@media (min-width:900px){
  body:has(#pjStrip) .menu.home-grid{gap:10px 18px}
  body:has(#pjStrip) .menu.home-grid .menu-card{padding:9.5px 18px;min-height:0}
  body:has(#pjStrip) .brand{display:none}
  body:has(#pjStrip) .dash-strip{margin-bottom:.5rem}
  body:has(#pjStrip) .dash-chip{padding:.25rem .7rem}
  body:has(#pjStrip) .pj-strip{margin-top:12px}
  body:has(#pjStrip) .pj-head{margin-bottom:4px}
}

.dash-wrap{position:relative;flex:1;min-width:8.5rem;display:flex}.dash-wrap .dash-chip{flex:1}
.dash-pop{display:none;position:absolute;top:100%;inset-inline:0;z-index:50;padding-top:6px}
.dash-pop>a,.dash-pop>small{display:block;padding:.45rem .8rem;background:#12284f;border:1px solid rgba(255,255,255,.18);border-top:0;color:#fff;text-decoration:none;font-size:.85rem}
.dash-pop>a:first-child{border-top:1px solid rgba(255,255,255,.18);border-radius:10px 10px 0 0}
.dash-pop>a:hover{background:#1d3d75}
.dash-pop>:last-child{border-radius:0 0 10px 10px}.dash-pop>small{color:#9fb3d4}
.dash-wrap:hover .dash-pop,.dash-wrap:focus-within .dash-pop{display:block}
html[data-theme="light"] .dash-pop>a,html[data-theme="light"] .dash-pop>small{background:#fff;color:#0b1b3a;border-color:#9cb2d0}
@media (min-width:900px){body:has(#pjStrip) #dash{margin-top:8px}}
.dash-strip>.dash-lbl{padding:.3rem .9rem;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);color:#fff}
@media (min-width:900px){body:has(#pjStrip) .alert-ticker{margin-inline:0}}
.dash-arr{font-style:normal;font-size:.7rem;margin-inline-start:.5rem;opacity:.85}
.dash-arr3d{flex:none;width:20px;height:30px;align-self:center;filter:drop-shadow(0 3px 2px rgba(0,0,0,.55)) drop-shadow(0 0 4px rgba(120,180,255,.45))}
.dash-strip{align-items:center}
@media (min-width:900px){body:has(#pjStrip) #dash,body:has(#pjStrip) .alert-ticker{width:100%;box-sizing:border-box;max-width:1040px;margin-inline:auto}}
@media (min-width:1100px){body:has(#pjStrip) #dash,body:has(#pjStrip) .alert-ticker{max-width:1240px}}
@media (min-width:1200px){body:has(#pjStrip) #dash,body:has(#pjStrip) .alert-ticker{max-width:1480px}}
