/* نظام النقل الثقيل — لغة جياد البصرية المعتمدة منقولة بحذافيرها:
   بترولي عميق + نحاسي شحيح، خط ثمانية بأوزان ثقيلة، زوايا كبيرة، ظلال ناعمة،
   شريط جانبي متدرج داكن بشريط نحاسي على العنصر النشط (التوقيع البصري). */
@font-face {
  font-family: "Thmanyah Sans";
  src: url("/fonts/ThmanyahSans-Regular.otf") format("opentype");
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Thmanyah Sans";
  src: url("/fonts/ThmanyahSans-Bold.otf") format("opentype");
  font-weight: 700 900; font-style: normal; font-display: swap;
}

/* هوية v5 — «الصنوبر الهادئ» من مرجع محمد: صنوبري عميق + أخضر فاتح ناعم + أبيض
   على قماش مريمي، وممنوع أي لون رابع يزعج العين */
:root{
  /* الشريط الجانبي: فحمي الشعار بتدرّج خفيف */
  --forest-900:#1B1C1D; --forest-800:#2B2D2F;
  /* اللون الرئيسي: أزرق الشعار وظلاله */
  --brand:#085EA6; --brand-dark:#0A4A80; --brand-soft:#DCEAF7; --brand-tint:rgba(8,94,166,.08);
  --black:#252626; --black-soft:#3A3C3E;
  /* العنصر النشط في القائمة: أزرق الشعار بنص أبيض بدل النعناعي */
  --mint:#085EA6; --mint-strong:#0B6CBE; --mint-ink:#FFFFFF;
  --gap-section:14px;
  --lime:#DCEAF7; --lime-ink:#0A3E6E;
  --gold:#7FB4E3; --gold-deep:#B07A12; --gold-soft:#E4EEF8; --gold-bright:#9CC5EA;
  /* الأرضية والبطاقات: رمادي فاتح بميل أزرق خفيف، والحبر من فحمي الشعار */
  --ground:#EEF2F5; --card:#FFFFFF; --ink:#1D2226; --muted:#66717C; --line:#DDE4EB;
  /* الوظيفية تبقى وظيفية: أخضر للسليم، كهرماني للانتباه، أحمر للخطر */
  --ok:#1E7A46; --ok-bg:#E3F3E9; --warn:#B07A12; --warn-bg:#F7EFD9;
  --danger:#C0392B; --danger-bg:#F9E7E4;
  --side:#252626; --side-ink:rgba(255,255,255,.72); --side-active:rgba(255,255,255,.10);
  --accent:var(--brand); --accent-soft:var(--brand-soft);
  --steel:#4F7FA8; --steel-soft:#E4EEF8; --chip:#EEF2F5; --card-grad:linear-gradient(168deg,#FFFFFF 45%,#F3F6FA 100%);
  --shadow-card:0 1px 2px rgba(37,38,38,.04), 0 10px 28px -14px rgba(37,38,38,.14);
  --shadow-hover:0 2px 5px rgba(37,38,38,.06), 0 18px 38px -12px rgba(37,38,38,.18);
  --shadow-modal:0 30px 70px rgba(37,38,38,.26);

  --radius:22px; --radius-sm:14px;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{
  direction:rtl; font-family:"Thmanyah Sans",-apple-system,"Segoe UI",Tahoma,Arial,sans-serif;
  background:var(--ground);
  color:var(--ink); font-size:14px; line-height:1.75;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{margin:0; line-height:1.5; font-weight:800; letter-spacing:-.2px}
button,input,select,textarea{font-family:inherit}
a{color:var(--brand-dark); font-weight:700}
svg.ic{vertical-align:-3px; flex-shrink:0}

/* ---------- تسجيل الدخول ---------- */
.user-identity-cell{display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-width:185px}
.user-identity-cell .btn{white-space:nowrap}
.user-identity-hint{margin:0;padding:10px 16px;color:var(--muted);font-size:12px;background:var(--brand-tint);border-bottom:1px solid var(--line)}
#login-screen{min-height:100vh; display:flex; align-items:center; justify-content:center; padding:20px;
  background:var(--ground)}
.login-box{background:var(--card-grad); border-radius:26px; padding:38px 34px; width:100%; max-width:390px; box-shadow:var(--shadow-modal)}
.login-box .brand{text-align:center; margin-bottom:22px}
.brand-mark{display:inline-flex; align-items:center; justify-content:center; width:56px; height:56px; border-radius:17px; background:var(--brand); color:var(--mint-ink); font-size:24px; font-weight:800; box-shadow:0 8px 20px rgba(37,38,38,.25)}
.login-box h1{font-size:19px; margin-top:12px}
.login-box p{color:var(--muted); font-size:12.5px; margin:4px 0 0; font-weight:700}

/* ---------- الهيكل: شريط جانبي فحمي بحبوب بيضاء ---------- */
#app{display:none; min-height:100vh}
#app.on{display:flex}
.sidebar{
  width:248px; background:linear-gradient(170deg,var(--forest-800) 0%,var(--forest-900) 75%);
  color:var(--side-ink); padding:22px 14px; display:flex; flex-direction:column; gap:3px;
  flex-shrink:0; min-height:100vh;
}
.sidebar .brand-row{display:flex; align-items:center; gap:12px; padding:2px 8px 18px; border-bottom:1px solid rgba(255,255,255,.09); margin-bottom:12px}
.sidebar .brand-row .brand-mark{width:42px; height:42px; font-size:16px; border-radius:13px; background:#fff; color:var(--brand)}
.sidebar .brand-row b{font-size:16px; color:#fff; font-weight:800; letter-spacing:.2px}
.nav-item{
  display:flex; align-items:center; gap:11px; padding:9.5px 15px; border-radius:999px;
  color:var(--side-ink); font-size:13.5px; font-weight:700; cursor:pointer; border:0;
  background:none; width:100%; text-align:start;
  transition:background .15s, color .15s;
}
.nav-item svg{opacity:.7}
.nav-item:hover{background:rgba(255,255,255,.07); color:#fff}
.nav-item.active{background:var(--mint); color:var(--mint-ink); font-weight:800; box-shadow:0 6px 16px -8px rgba(8,94,166,.6)}
.nav-item.active svg{opacity:1; color:var(--mint-ink)}
.nav-item .phase{margin-inline-start:auto; font-size:9.5px; background:rgba(255,255,255,.1); border-radius:999px; padding:1px 7px}
.nav-item.active .phase{background:rgba(255,255,255,.18); color:#fff}
.nav-item.disabled{opacity:.35; cursor:default}
.btn:disabled,.btn[disabled]{opacity:.42; cursor:not-allowed; filter:grayscale(.55)}
.btn:disabled:hover,.btn[disabled]:hover{transform:none}
.sidebar .foot{margin-top:auto; padding:14px 10px 4px; font-size:12px; color:rgba(255,255,255,.55); border-top:1px solid rgba(255,255,255,.09); display:flex; align-items:center; gap:9px; font-weight:700}
.sidebar .foot button{background:rgba(255,255,255,.1); border:0; color:#fff; cursor:pointer; font-size:12px; padding:7px; border-radius:50%; display:inline-flex; align-items:center; gap:4px}
.sidebar .foot button:hover{background:var(--brand); color:#fff}

.main{flex:1; padding:26px 30px 60px; min-width:0}
.main > *{max-width:1240px; margin-inline:auto}
.page-head{display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:18px !important;
  position:relative; overflow:hidden; background:linear-gradient(135deg,#FFFFFF 0%,#F4F8F5 55%,#ECF4EE 100%);
  border:1px solid var(--line); border-radius:18px; padding:18px 22px 16px;
  box-shadow:0 1px 2px rgba(23,33,29,.04)}
.page-head::before{content:""; position:absolute; inset-inline-start:0; top:14px; bottom:14px; width:4px;
  border-radius:999px; background:linear-gradient(180deg,var(--brand),var(--mint-strong))}
.page-head::after{content:""; position:absolute; inset-inline-end:-50px; top:-55px; width:190px; height:190px;
  border-radius:50%; background:radial-gradient(circle,rgba(8,94,166,.17),transparent 70%); pointer-events:none}
.page-head > *{position:relative; z-index:1}
.page-head h1{font-size:20px; letter-spacing:-.2px}
.page-head .spacer{flex:1}
.page-head .sub{color:var(--muted); font-size:12.5px; width:100%; font-weight:700; line-height:1.9; margin-top:2px}

/* ---------- الأزرار والحقول ---------- */
.btn{
  border:1px solid var(--line); background:var(--card); color:var(--ink); border-radius:999px;
  padding:8.5px 17px; font-size:12.8px; font-weight:800; cursor:pointer;
  display:inline-flex; align-items:center; gap:7px;
  transition:filter .15s, transform .1s, box-shadow .15s, border-color .15s;
}
.btn:hover{border-color:#C9CDD4; transform:translateY(-1px)}
.btn:active{transform:translateY(0); filter:brightness(.95)}
.btn.primary{background:var(--brand); border-color:var(--brand); color:#fff; box-shadow:0 8px 18px -8px rgba(8,94,166,.5)}
.btn.primary:hover{filter:brightness(1.15)}
.btn.danger{background:var(--danger-bg); border-color:var(--danger-bg); color:var(--danger)}
.btn.sm{padding:5.5px 12px; font-size:11.8px; border-radius:9px; gap:5px}
input,select,textarea{
  font-size:13px; color:var(--ink); background:var(--card);
  border:1px solid var(--line); border-radius:var(--radius-sm); padding:9px 12px; width:100%;
}
textarea{resize:vertical}
input[type="checkbox"],input[type="radio"]{width:auto; min-width:0; flex:none; margin:0; accent-color:var(--brand)}
.check-row{display:flex; align-items:center; gap:8px; cursor:pointer; font-size:13px; font-weight:700; color:var(--ink);
  border:1px solid var(--line); border-radius:14px; padding:10px 12px; background:var(--card)}
.check-row:hover{border-color:var(--brand)}
.check-row small{color:var(--muted); font-weight:600; font-size:11.5px}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(8,94,166,.18); border-color:var(--brand)}
label{font-size:12px; color:var(--muted); display:block; margin-bottom:5px; font-weight:700}
.field{margin-bottom:12px}
.ss-wrap{position:relative}
.ss-input{width:100%}
.ss-list{position:absolute; right:0; left:0; top:calc(100% + 4px); max-height:240px; overflow:auto; background:var(--card); border:1px solid var(--line); border-radius:12px; box-shadow:0 8px 24px rgba(0,0,0,.12); z-index:80; padding:4px}
.ss-item{padding:8px 10px; border-radius:8px; cursor:pointer; font-size:13px}
.ss-item.on,.ss-item:hover{background:var(--brand-soft)}
.ss-more{padding:6px 10px; color:var(--muted); font-size:12px}
.pc-bar{height:8px; border-radius:999px; background:var(--ground); overflow:hidden; min-width:120px}
.pc-bar span{display:block; height:100%; background:var(--brand); border-radius:999px}
.pc-critical td:first-child{border-inline-start:3px solid var(--danger)}
.pc-warning td:first-child{border-inline-start:3px solid #D9A93F}
.pc-green td:first-child{border-inline-start:3px solid var(--ok)}
.pc-reasons{margin-top:8px}
.grid2{display:grid; grid-template-columns:1fr 1fr; gap:10px 14px}
.grid3{display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px 14px}

/* ---------- بطاقات المؤشرات ---------- */
.cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(172px,1fr)); gap:14px; margin-bottom:var(--gap-section)}
.stat-card{
  background:var(--card-grad); border:1px solid var(--line); border-radius:var(--radius);
  padding:16px 18px; display:flex; flex-direction:column; gap:2px; position:relative;
  box-shadow:var(--shadow-card); transition:box-shadow .15s, transform .15s;
}
.stat-card:hover{box-shadow:var(--shadow-hover); transform:translateY(-2px)}
.stat-card .icon-sq{position:absolute; inset-inline-end:16px; top:16px}
.stat-card b{display:block; font-size:25px; color:var(--ink); font-variant-numeric:tabular-nums; font-weight:800; letter-spacing:-.3px}
.stat-card.steel b{color:var(--ink)}
.stat-card.red b{color:var(--danger)}
.stat-card i{font-style:normal; font-size:11.5px; color:var(--muted); font-weight:700; margin-top:2px}
.stat-card .delta{font-size:10.5px; font-weight:800; margin-top:5px}
.delta.up,.delta.down{display:inline-block; border-radius:999px; padding:1px 9px; width:fit-content}
.delta.up{background:var(--lime); color:var(--lime-ink)}
.delta.down{background:var(--danger-bg); color:var(--danger)}
.icon-sq{width:38px; height:38px; border-radius:11px; display:inline-flex; align-items:center; justify-content:center; background:var(--brand-tint); color:var(--brand)}
.icon-sq.gold{background:var(--gold-soft); color:var(--gold-deep)}
.icon-sq.ok{background:var(--ok-bg); color:var(--ok)}
.icon-sq.red{background:var(--danger-bg); color:var(--danger)}

/* ---------- اللوحات والجداول ---------- */
.panel{background:var(--card-grad); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-card); margin-bottom:var(--gap-section)}
/* شريط أدوات: صف مرن أينما وُضع — داخل لوحة أو خارجها (كان الصف يعمل داخل .panel فقط
   فتكدّست فلاتر صفحة المخالفات عمودياً بعرض كامل) */
.toolbar{display:flex; gap:10px; align-items:center; flex-wrap:wrap; font-size:13px}
.panel .toolbar{padding:14px 18px; border-bottom:1px solid var(--line)}
.panel .toolbar b{font-size:14.5px; font-weight:800}
.toolbar input,.toolbar select{width:auto; min-width:150px; padding:7.5px 11px; font-size:12.5px}
.toolbar input[type="month"],.toolbar input[type="date"]{min-width:0}
.table-wrap{overflow-x:auto}
table{border-collapse:collapse; width:100%; font-size:13px}
th{
  text-align:start; padding:11px 16px; color:var(--muted); font-weight:700; font-size:11px;
  letter-spacing:.4px; border-bottom:1px solid var(--line); background:#F8F9F8; white-space:nowrap;
}
td{padding:11px 16px; border-bottom:1px solid #F0F2F1; white-space:nowrap; font-variant-numeric:tabular-nums}
tr:last-child td{border-bottom:none}
tr:hover td{background:#F8F9F8}
.num{font-variant-numeric:tabular-nums}
.badge{display:inline-flex; align-items:center; gap:4px; padding:3.5px 10px; border-radius:999px; font-size:11px; font-weight:700}
.badge.ok{background:var(--ok-bg); color:var(--ok)}
.badge.warn{background:var(--warn-bg); color:var(--warn)}
.badge.danger{background:var(--danger-bg); color:var(--danger)}
.badge.steel{background:var(--brand-tint); color:var(--brand-dark)}
.badge.plain{background:var(--gold-soft); color:var(--gold-deep)}
.muted{color:var(--muted)}
.empty{padding:14px 6px; text-align:start; color:var(--muted); font-size:12.5px; font-weight:700}
.empty::before{content:"—"; margin-inline-end:8px; color:var(--line)}
table .empty{padding:18px 16px}

/* ---------- المخططات ---------- */
.chart-card{background:var(--card-grad); border:1px solid var(--line); border-radius:var(--radius); padding:16px 18px; box-shadow:var(--shadow-card); margin-bottom:var(--gap-section)}
.chart-row .chart-card, .docs-mid .chart-card, .vl-cards .chart-card, .gl-grid .chart-card{margin-bottom:0}
/* عنوان القسم: الاسم والعدّاد على سطر، والتلميح الطويل ينزل سطراً وحده بدل أن يزاحم */
.chart-card h3{font-size:14px; margin-bottom:12px; display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; line-height:1.5}
.chart-card h3 > .muted{font-size:11px; font-weight:700; flex:1 1 220px; min-width:0}
.chart-card h3 > .btn{margin-inline-start:auto}
.chart-row{display:grid; grid-template-columns:2.1fr 1fr 1.3fr; gap:14px; margin-bottom:var(--gap-section); align-items:stretch}
.bar-svg{width:100%; display:block}
.bar-svg .bar{fill:var(--brand)}
.bar-svg .bar.max{fill:var(--gold)}
.bar-svg .bar:hover{fill:var(--brand-dark)}
.bar-svg text{font-family:"Thmanyah Sans",Tahoma,sans-serif; font-weight:700}
.hbar-row{display:flex; align-items:center; gap:10px; padding:5.5px 0; font-size:12.5px; font-weight:700}
.hbar-label{width:112px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; flex-shrink:0}
.hbar-track{flex:1; height:15px; background:var(--ground); border-radius:999px; overflow:hidden}
.hbar-fill{height:100%; background:var(--brand); border-radius:999px; min-width:3px}
.hbar-fill.gold{background:var(--gold)}
.hbar-val{width:80px; text-align:end; font-variant-numeric:tabular-nums; color:var(--muted); font-size:11px; flex-shrink:0}
.ring-wrap{display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; height:100%}
.legend-row{display:flex; align-items:center; gap:8px; font-size:12.5px; padding:3px 0; font-weight:700}
.stack-bar{display:flex; gap:2px; height:17px; border-radius:999px; overflow:hidden; margin:8px 0 2px}
.stack-bar span{display:block; min-width:3px}

/* ---------- بينتو الأسطول البطولي ---------- */
.bento{display:grid; grid-template-columns:1.7fr 1fr 1fr 1fr 1fr; gap:14px; margin-bottom:var(--gap-section)}
/* W4.8: بطاقات الأسطول المجمّعة — شبكة موحدة متساوية الأعمدة والارتفاع */
.fleet-groups{display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:var(--gap-section)}
.fleet-group-tile{background:var(--card,#fff); border:1px solid var(--line); border-radius:14px; padding:12px 14px; min-height:88px; display:flex; flex-direction:column; gap:4px}
.fleet-group-tile b{font-size:22px; line-height:1.1}
.fleet-group-tile i{font-style:normal; font-weight:700; font-size:12.5px}
.fleet-group-tile .muted{font-size:11px}
.fleet-group-tile.warn{border-color:var(--warn); background:var(--warn-bg)}
.fleet-group-tile.danger{border-color:var(--danger)}
@media (max-width:900px){.fleet-groups{grid-template-columns:repeat(2,1fr)}}
.bento-hero{
  background:linear-gradient(145deg,var(--forest-800) 0%,var(--brand-dark) 80%);
  color:#fff; border-radius:var(--radius); padding:18px 22px; box-shadow:var(--shadow-hover);
  display:flex; flex-direction:column; justify-content:center; position:relative; overflow:hidden;
}
.bento-hero::after{
  content:""; position:absolute; width:220px; height:220px; border-radius:50%;
  background:radial-gradient(circle, rgba(198,227,159,.28), transparent 70%);
  top:-90px; inset-inline-start:-60px;
}
.bh-num{font-size:44px; font-weight:800; line-height:1.1; font-variant-numeric:tabular-nums; letter-spacing:-1px}
.bh-label{font-size:12.5px; font-weight:800; opacity:.85; margin-top:2px}
.bento-hero .stack-bar{height:10px; background:rgba(255,255,255,.15)}
.bento-tile{
  background:var(--card-grad); border:1px solid var(--line);
  border-radius:var(--radius); padding:15px 17px; cursor:pointer; box-shadow:var(--shadow-card);
  display:flex; flex-direction:column; justify-content:center; transition:box-shadow .15s, transform .15s;
}
.bento-tile:hover{box-shadow:var(--shadow-hover); transform:translateY(-2px)}
.bento-tile.active{outline:2px solid var(--brand); outline-offset:1px}
.bento-tile b{font-size:29px; font-weight:800; font-variant-numeric:tabular-nums; letter-spacing:-.5px}
.bento-tile i{font-style:normal; font-size:11.5px; color:var(--muted); font-weight:800; margin-top:2px}
.bento-tile.danger b{color:var(--danger)}
.bento-tile.gold b{color:var(--gold-deep)}


/* جدار صحة الأسطول */
.hw-wall{display:grid; grid-template-columns:repeat(auto-fill,15px); gap:4px; padding:4px 0}
.hw-tile{width:15px; height:15px; border-radius:4px; cursor:pointer; transition:transform .1s}
.hw-tile:hover{transform:scale(1.45); box-shadow:0 2px 8px rgba(0,0,0,.25); z-index:2; position:relative}
.hw-tile.ok{background:#BCD8C5}
.hw-tile.warn{background:var(--gold)}
.hw-tile.danger{background:var(--danger)}
.hw-tile.na{background:var(--line)}
.hw-tile.expired{background:var(--danger)}
.hw-tile.d30{background:var(--gold)}
.hw-tile.d60{background:#D9C27E}
.hw-tile.none{background:#AAB4AF}
.hw-legend{display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-top:12px;
  padding-top:10px; border-top:1px dashed var(--line); font-size:11.5px; font-weight:700}
.hw-key{display:inline-flex; align-items:center; gap:7px; background:var(--chip); color:var(--muted);
  border:1px solid transparent; border-radius:999px; padding:5px 11px; cursor:pointer; font-family:inherit; font-size:11.5px; font-weight:700}
.hw-key:hover{border-color:var(--brand); color:var(--ink)}
.hw-key.on{background:var(--brand-soft); border-color:var(--brand); color:var(--brand-dark)}
.hw-key i{width:13px; height:13px; border-radius:4px; display:inline-block; flex-shrink:0;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}
.hw-key b{color:var(--ink); font-weight:800; font-variant-numeric:tabular-nums}
.hw-note{color:var(--muted); font-weight:700; font-size:11px; margin-inline-start:auto}

/* صندوق يتطلب إجراء */
.inbox-row{
  display:flex; align-items:center; gap:9px; padding:7px 10px; border:1px solid var(--line);
  border-radius:var(--radius-sm); background:var(--card);
  font-size:12px; font-weight:700;
}
.inbox-row.danger{background:#FBF3F1}
.inbox-row.warn{background:#FAF6EA}
.inbox-text{flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}

/* غلاف الظل الكبير أعلى البطاقة */
.veh-cover{
  display:flex; justify-content:center; align-items:flex-end; padding:4px 0 7px;
  border-bottom:1px dashed var(--line);
}
.veh-cover svg{filter:drop-shadow(0 3px 3px rgba(18,49,41,.18))}
.veh-cover.ok{color:var(--ok)}
.veh-cover.warn{color:var(--gold-deep)}
.veh-cover.danger{color:var(--danger)}
.veh-cover.na{color:#AAB4B0}

/* حلقة الصحة حول ظل المركبة */
.hring{
  border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  flex-shrink:0; border:3px solid var(--line); color:var(--muted); background:var(--card);
}
.hring.ok{border-color:var(--ok); color:var(--ok)}
.hring.warn{border-color:var(--gold); color:var(--gold-deep)}
.hring.danger{border-color:var(--danger); color:var(--danger); animation:agePulse 1.8s infinite}
.hring.na{border-color:var(--line); color:#9AA5A1}

/* شريط النشاط الشهري في ملف المركبة */
.act-band{display:flex; gap:3px; flex-wrap:wrap}
.act-cell{width:16px; height:16px; border-radius:4px; background:var(--ground); border:1px solid var(--line); position:relative}
.act-cell.on{background:var(--brand); border-color:var(--brand)}
.act-cell.fuel::after{content:""; position:absolute; width:5px; height:5px; border-radius:50%; background:var(--gold); top:-2px; inset-inline-end:-2px}

/* عداد الصيانة على البطاقة */
.svc-meter{display:flex; flex-direction:column; gap:2px; font-size:10.5px; font-weight:800}
.svc-track{height:6px; background:var(--ground); border-radius:999px; overflow:hidden}
.svc-fill{height:100%; border-radius:999px}

/* شرائح بفواصل لونية + دخول متدرج */
.chip-dot::before{content:""; width:8px; height:8px; border-radius:50%; background:var(--dc); display:inline-block}
.stagger > *{animation:fadeUp .35s ease-out both}
.stagger > *:nth-child(1){animation-delay:.02s}
.stagger > *:nth-child(2){animation-delay:.05s}
.stagger > *:nth-child(3){animation-delay:.08s}
.stagger > *:nth-child(4){animation-delay:.11s}
.stagger > *:nth-child(5){animation-delay:.14s}
.stagger > *:nth-child(6){animation-delay:.17s}
.stagger > *:nth-child(7){animation-delay:.2s}
.stagger > *:nth-child(8){animation-delay:.23s}
@keyframes fadeUp{from{opacity:0; transform:translateY(8px)}to{opacity:1; transform:none}}
@media (prefers-reduced-motion: reduce){
  .stagger > *{animation:none}
  .hring.danger,.age-pill.pulse{animation:none}
}
@media (max-width:1100px){ .bento{grid-template-columns:1fr 1fr} .bento-hero{grid-column:1/-1} }

/* ---------- ساحة الأسطول ---------- */
.veh-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(238px,1fr)); gap:14px; align-items:stretch}
.veh-card{
  background:var(--card-grad); border:1px solid var(--line); height:100%; min-height:0;
  border-radius:var(--radius); padding:15px 16px; cursor:pointer; display:flex; flex-direction:column; gap:10px;
  box-shadow:var(--shadow-card); transition:box-shadow .15s, transform .15s;
}
.veh-card:hover{box-shadow:var(--shadow-hover); transform:translateY(-2px)}
.veh-top{display:flex; align-items:center; justify-content:space-between; gap:8px}
.veh-title{display:flex; align-items:center; gap:7px; font-size:13px; justify-content:center; font-weight:800}
.veh-title svg{color:var(--muted)}
.veh-rows{display:flex; flex-direction:column; gap:2px; border-top:1px dashed var(--line); padding-top:8px}
.vrow{display:flex; align-items:center; gap:8px; font-size:12px}
.vrow span:first-child{color:var(--muted); width:48px; flex-shrink:0; font-size:11px; font-weight:700}
.vrow b{font-weight:700; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.doc-pills{display:flex; flex-wrap:wrap; gap:5px}
.dpill{display:inline-flex; align-items:center; gap:5px; border:1px solid var(--line); border-radius:999px; padding:2px 9px; font-size:10.5px; color:var(--muted); background:#FAFBFA; font-weight:700}
.doc-dots{display:inline-flex; gap:5px; flex-shrink:0}
.doc-dots .dot,.legend-row .dot,.dpill .dot{width:8px; height:8px; border-radius:50%; display:inline-block; flex-shrink:0}
.dot.ok{background:var(--ok)}
.dot.warn{background:#D9A93F}
.dot.danger{background:var(--danger)}
.dot.na{background:var(--line)}
.veh-alert{border-radius:999px; padding:4px 12px; font-size:11.5px; font-weight:800; text-align:center}
.veh-alert.danger{background:var(--danger-bg); color:var(--danger)}
.veh-alert.warn{background:var(--warn-bg); color:var(--warn)}
.veh-alert.ok{background:var(--ok-bg); color:var(--ok)}
.veh-alert.na{background:var(--ground); color:var(--muted)}
.veh-foot{display:flex; gap:8px}
.veh-near{font-size:11px; color:var(--muted)}
.plate-chip{
  display:inline-flex; align-items:stretch; background:#FDFDFC; border:1.6px solid #2F3B37;
  border-radius:8px; overflow:hidden; line-height:1.4;
}
.plate-chip .ksa{background:#1D4ED8; color:#fff; font-size:8px; font-weight:800; display:flex; align-items:center; padding:0 4px; letter-spacing:.5px}
.plate-chip b{font-size:15px; letter-spacing:1.5px; color:#17201D; padding:2px 10px; font-weight:800}
.plate-chip i{font-style:normal; font-size:11.5px; color:#2F3B37; border-inline-start:1px solid #D4D9D6; padding:2px 8px; display:flex; align-items:center; font-weight:700}
.plate-chip.big b{font-size:20px; padding:5px 13px}
.plate-chip.big i{font-size:14px}
.plate-chip.big .ksa{font-size:10px; padding:0 6px}
.docline{display:flex; align-items:center; gap:10px; padding:7px 0; border-bottom:1px dashed var(--line); font-size:13px}
.docline span:first-child{color:var(--muted); width:95px; flex-shrink:0; font-weight:700}
.docline b{flex:1; font-variant-numeric:tabular-nums; font-weight:700}

/* ---------- غرفة عمليات التشغيل ---------- */
.op-row{
  display:flex; align-items:center; gap:12px; background:var(--card-grad); border:1px solid var(--line);
  border-radius:var(--radius-sm); padding:9px 13px; box-shadow:var(--shadow-card);
}
.op-row:hover{box-shadow:var(--shadow-hover)}
.op-main{flex:1; min-width:0}
.op-line1{font-weight:800; font-size:13px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.op-line2{font-size:11.5px; color:var(--muted); font-weight:700; display:flex; align-items:center; gap:4px; overflow:hidden; white-space:nowrap}
.op-nums{text-align:end; font-variant-numeric:tabular-nums; font-weight:800; font-size:13px; flex-shrink:0; line-height:1.4}
kbd{
  background:var(--ground); border:1px solid var(--line); border-bottom-width:2px; border-radius:5px;
  padding:0 5px; font-size:10px; font-family:inherit; font-weight:800; color:var(--muted);
}

/* ---------- لوحة المشاريع (Kanban) ---------- */
.funnel{display:flex; align-items:stretch; gap:6px; margin-bottom:14px; overflow-x:auto; padding-bottom:4px}
.fn-seg{
  flex:1; min-width:96px; background:var(--card); border:1px solid var(--line);
  border-radius:10px; padding:7px 10px; cursor:pointer;
  text-align:center; box-shadow:var(--shadow-card); transition:transform .12s, box-shadow .12s;
}
.fn-seg:hover{transform:translateY(-2px); box-shadow:var(--shadow-hover)}
.fn-name{font-size:11px; font-weight:800; color:var(--c)}
.fn-nums{font-size:11.5px; color:var(--muted); font-weight:700; font-variant-numeric:tabular-nums}
.fn-nums b{color:var(--ink); font-size:13px}
.fn-arrow{align-self:center; color:var(--line); font-weight:800; flex-shrink:0}

.kb-board{display:flex; gap:13px; overflow-x:auto; padding-bottom:10px; align-items:flex-start}
.kb-col{min-width:256px; width:256px; flex-shrink:0; background:#F0F4F1; border:1px solid var(--line); border-radius:var(--radius); padding:11px; transition:box-shadow .3s}
.kb-col.flash{box-shadow:0 0 0 3px var(--gold)}
.kb-col.collapsed{
  min-width:52px; width:52px; cursor:pointer; display:flex; flex-direction:column;
  align-items:center; gap:10px; padding:14px 6px;
}
.kb-vert{writing-mode:vertical-rl; font-weight:800; font-size:12px; color:var(--c); letter-spacing:1px}
.kb-head{display:flex; align-items:center; gap:8px; font-weight:800; font-size:12.8px; padding:2px 4px 2px; color:var(--c)}
.kb-head::before{content:""; width:9px; height:9px; border-radius:50%; background:var(--c); flex-shrink:0}
.kb-count{background:var(--card); border:1px solid var(--line); border-radius:999px; padding:0 8px; font-size:11px; color:var(--muted)}
.kb-min{margin-inline-start:auto; border:0; background:none; color:var(--muted); cursor:pointer; font-weight:800; padding:0 4px; border-radius:5px}
.kb-min:hover{background:var(--card)}
.kb-money{font-size:10.5px; color:var(--muted); font-weight:800; padding:0 6px 9px; font-variant-numeric:tabular-nums}
.kb-cards{display:flex; flex-direction:column; gap:9px; min-height:60px; border-radius:10px}
.kb-cards.drag-over{outline:2px dashed var(--c,var(--brand)); outline-offset:2px; background:rgba(255,255,255,.5)}
.kb-empty{padding:16px 10px; text-align:center; color:var(--muted); font-size:11.5px; font-weight:700; line-height:1.9}
.kb-card{
  background:var(--card-grad); border:1px solid var(--line);
  border-radius:var(--radius-sm); padding:10px 13px 11px; cursor:grab; display:flex;
  flex-direction:column; gap:4px; box-shadow:var(--shadow-card); position:relative;
  transition:box-shadow .15s, transform .15s;
}
.kb-card:hover{box-shadow:var(--shadow-hover); transform:translateY(-2px)}
.kb-card:active{cursor:grabbing}
.kb-top{display:flex; justify-content:space-between; align-items:center; font-size:10.5px; color:var(--muted); font-weight:700; gap:6px}
.kb-top b{color:var(--brand-dark); font-size:12px}
.kb-client{font-weight:800; font-size:13.5px}
.kb-route{font-size:11.5px; color:var(--muted); font-weight:700; display:flex; align-items:center; gap:4px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.kb-price{font-weight:800; font-size:16px; font-variant-numeric:tabular-nums}
.kb-actions{display:none; gap:6px; margin-top:6px; padding-top:7px; border-top:1px dashed var(--line)}
.kb-card:hover .kb-actions{display:flex}
.age-pill{border-radius:999px; padding:0 8px; font-size:10px; font-weight:800; background:var(--ground); color:var(--muted); white-space:nowrap}
.age-pill.warn{background:var(--warn-bg); color:var(--warn)}
.age-pill.danger{background:var(--danger-bg); color:var(--danger)}
.age-pill.pulse{animation:agePulse 1.6s infinite}
@keyframes agePulse{0%,100%{box-shadow:0 0 0 0 rgba(179,65,58,.35)}50%{box-shadow:0 0 0 5px rgba(179,65,58,0)}}
.dropbar{
  position:fixed; bottom:-80px; right:0; left:0; display:flex; justify-content:center; gap:14px;
  padding:14px; z-index:60; transition:bottom .18s ease;
}
body.prj-dragging .dropbar{bottom:0}
.dropzone{
  background:var(--danger-bg); color:var(--danger); border:2px dashed var(--danger);
  border-radius:14px; padding:16px 40px; font-weight:800; font-size:14px;
  box-shadow:var(--shadow-hover); transition:transform .12s;
}
.dropzone.drag-over{transform:scale(1.06); background:var(--danger); color:#fff}

/* ---------- خط رحلة الطلب ---------- */
.stepper{display:flex; margin:16px 0 14px}
.step{flex:1; text-align:center; position:relative; font-size:10px; color:var(--muted); font-weight:700}
.step:not(:first-child)::before{content:""; position:absolute; top:11px; inset-inline-start:-50%; width:100%; height:2.5px; background:var(--line)}
.step.done:not(:first-child)::before,.step.current:not(:first-child)::before{background:var(--brand)}
.step-dot{width:23px; height:23px; border-radius:50%; background:var(--ground); border:2px solid var(--line); display:inline-flex; align-items:center; justify-content:center; font-size:10.5px; position:relative; z-index:1; color:var(--muted); font-weight:800}
.step.done .step-dot{background:var(--brand); border-color:var(--brand); color:#fff}
.step.current .step-dot{background:var(--gold); border-color:var(--gold); color:#fff; box-shadow:0 0 0 4px var(--gold-soft)}
.step.current{color:var(--gold-deep)}
.step.done{color:var(--brand-dark)}
.step label{display:block; margin-top:4px}
.stepper.cancelled{opacity:.45}

/* ---------- المودال ---------- */
#modal-back{
  display:none; position:fixed; inset:0; background:rgba(10,20,15,.5); z-index:50;
  align-items:flex-start; justify-content:center; padding:40px 16px; overflow-y:auto;
  backdrop-filter:blur(2px); -webkit-backdrop-filter:blur(2px);
}
#modal-back.on{display:flex}
.modal{background:var(--card); border-radius:22px; width:100%; max-width:640px; padding:24px 26px; box-shadow:var(--shadow-modal)}
.modal h2{font-size:17px; margin-bottom:16px}
.modal h2.sec{font-size:13.5px; margin:16px 0 8px; padding-top:12px; border-top:1px solid var(--line)}
.modal .actions{display:flex; gap:9px; justify-content:flex-start; margin-top:18px; flex-wrap:wrap}
.modal .err{color:var(--danger); font-size:12.5px; margin-top:10px; display:none; font-weight:700}

.pager{display:flex; gap:8px; align-items:center; padding:12px 16px; color:var(--muted); font-size:12.5px; font-weight:700}
.banner-note{background:var(--gold-soft); border:1px solid #EBDDBC; border-radius:var(--radius-sm); padding:11px 16px; margin:12px 0; font-size:12.8px}

#toast{
  position:fixed; bottom:24px; right:50%; transform:translateX(50%); background:var(--forest-900);
  color:#fff; border-radius:12px; padding:11px 24px; font-size:12.8px; font-weight:700; display:none; z-index:99;
  box-shadow:var(--shadow-hover);
}

/* ---------- وحدة المهام ---------- */
.task-grid{display:grid; grid-template-columns:220px 1fr 1fr 1fr; gap:14px; margin-bottom:var(--gap-section); align-items:start}
.task-grid.archive{grid-template-columns:repeat(4,1fr)}
.task-list{padding:8px 12px 14px; display:flex; flex-direction:column; gap:7px}
.task-row{display:flex; align-items:flex-start; gap:10px; padding:10px 12px; border:1px solid var(--line); border-radius:var(--radius-sm); cursor:pointer; background:var(--card); transition:border-color .12s, background .12s}
.task-row:hover{background:#F8F9F8}
.task-row.done .task-title{text-decoration:line-through; color:var(--muted)}
.task-check{width:20px; height:20px; flex-shrink:0; border:2px solid #D5DAD8; border-radius:7px; display:flex; align-items:center; justify-content:center; font-size:12px; margin-top:2px; color:#fff; transition:background .12s}
.task-check.checked{background:var(--ok); border-color:var(--ok)}
.task-body{flex:1; min-width:0}
.task-title{font-size:13px; font-weight:700}
.task-fuel{margin-top:8px;font-size:12px;text-align:start}
.task-fuel summary{cursor:pointer;color:var(--brand);font-weight:700}
.task-fuel[open]{background:var(--ground);border-radius:10px;padding:10px}
.task-fuel-meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px}
.task-fuel p{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0;line-height:1.7}
.task-meta{font-size:11.5px; color:var(--muted); font-weight:700}
.task-meta.late{color:var(--danger)}
.task-progress{display:flex; align-items:center; gap:10px; font-size:11.5px; color:var(--muted); margin:8px 0 4px; font-weight:700}
.task-bar{flex:1; height:7px; background:var(--ground); border-radius:999px; overflow:hidden}
.task-fill{height:100%; background:var(--brand); border-radius:999px}
.task-note{border-radius:var(--radius-sm); padding:6px 11px; font-size:12px; margin-top:6px; font-weight:700}
.task-note.pending{background:var(--warn-bg); color:var(--warn)}
.task-note.redirected{background:var(--brand-tint); color:var(--brand-dark)}
.wp-pool{display:flex; flex-wrap:wrap; gap:8px; border:2px dashed var(--line); border-radius:var(--radius-sm); padding:10px; margin-top:12px; min-height:52px}
.wp-grid{display:grid; grid-template-columns:repeat(7,1fr); gap:9px; margin-top:12px}
.wp-day{border:1px solid var(--line); border-radius:var(--radius-sm); overflow:hidden; background:var(--ground)}
.wp-day-head{text-align:center; font-size:11.5px; padding:6px 4px; background:var(--card); border-bottom:1px solid var(--line); font-weight:700}
.wp-day-num{font-weight:800; font-size:15px; color:var(--brand)}
.wp-day-body{min-height:110px; padding:6px; display:flex; flex-direction:column; gap:6px}
.wp-day-body.drag-over,.wp-pool.drag-over{outline:2px dashed var(--brand); outline-offset:-4px; background:var(--brand-soft)}
.wp-chip{display:flex; align-items:center; gap:6px; background:var(--card); border:1px solid var(--line); border-radius:9px; padding:4px 9px; font-size:11.5px; cursor:grab; font-weight:700}
.wp-chip button{border:0; background:none; cursor:pointer; color:var(--danger); font-size:11px; padding:0}

@media (max-width:1100px){
  .task-grid{grid-template-columns:1fr 1fr}
  .task-grid.archive{grid-template-columns:1fr 1fr}
  .wp-grid{grid-template-columns:repeat(4,1fr)}
  .chart-row{grid-template-columns:1fr 1fr}
}
@media (max-width:800px){
  #app.on{flex-direction:column}
  .sidebar{width:100%; min-height:0; flex-direction:row; flex-wrap:wrap}
  .sidebar .foot{margin-top:0; border-top:none}
  .nav-item.active::before{display:none}
  .main{padding:16px}
  .grid2,.grid3{grid-template-columns:1fr}
  .chart-row{grid-template-columns:1fr}
  .task-grid,.task-grid.archive{grid-template-columns:1fr}
  .wp-grid{grid-template-columns:repeat(2,1fr)}
}

/* هوية «السواط» — أزرق الشعار #085EA6 وفحميه #252626 (معتمدة 2026-09-03)
   === == المهام — نسخ حرفي من تصميم جياد الخير، بهوية النقل الثقيل ===== */
#tasks-page .section-card{background:var(--card-grad); border:1px solid rgba(20,56,48,.07); border-radius:var(--radius); margin-bottom:22px; overflow:hidden; box-shadow:var(--shadow-card)}
#tasks-page .section-head{display:flex; align-items:center; justify-content:space-between; padding:17px 20px; flex-wrap:wrap; gap:10px; border-bottom:1px solid var(--line)}
#tasks-page .section-title-wrap{display:flex; align-items:center; gap:11px}
#tasks-page .section-icon{width:38px; height:38px; border-radius:12px; display:flex; align-items:center; justify-content:center; flex-shrink:0}
#tasks-page .section-icon.stat-total,#tasks-page .section-icon.icon-delegate,#tasks-page .section-icon.icon-saudi{background:var(--brand-tint); color:var(--brand)}
#tasks-page .section-icon.stat-valid{background:var(--ok-bg); color:var(--ok)}
#tasks-page .section-icon.stat-soon,#tasks-page .section-icon.stat-urgent{background:var(--warn-bg); color:var(--warn)}
#tasks-page .section-icon.stat-expired{background:var(--danger-bg); color:var(--danger)}
#tasks-page .section-title{font-size:15.5px; font-weight:800; margin:0; letter-spacing:-.1px}
#tasks-page .count-badge{background:var(--chip); border:1px solid var(--line); padding:3.5px 11px; border-radius:999px; font-size:12px; font-weight:700; color:var(--muted)}
#tasks-page .section-actions{display:flex; gap:9px; flex-wrap:wrap; align-items:center}
#tasks-page .section-actions select{padding:7.5px 11px; border-radius:var(--radius-sm); border:1px solid var(--line); font-size:12.8px; background:#fff; font-family:inherit; color:var(--ink)}
#tasks-page .section-foot{padding:13px 20px; text-align:center; border-top:1px solid var(--line)}
#tasks-page .link-more{background:none; border:none; color:var(--brand-dark); font-weight:700; cursor:pointer; font-size:12.8px; font-family:inherit; display:inline-flex; align-items:center; gap:5px}
#tasks-page .empty-state{padding:44px 20px; text-align:center; color:var(--muted); font-size:13px}
#tasks-page .modal-sub{color:var(--muted); font-size:12.5px; margin:0 0 16px}
.field-hint{display:block; font-size:11px; color:var(--warn); font-weight:700; margin:5px 2px 0}
.gm-steps{margin:10px 0 0; padding-inline-start:20px; font-size:12px; line-height:1.9; color:var(--muted)}
.gm-steps b{color:var(--ink)}

/* مطابقة كشف البنك */
.bk-empty-sec{display:flex; align-items:center; gap:8px; padding:8px 14px; margin-bottom:var(--gap-section);
  border:1px dashed var(--line); border-radius:10px; font-size:12.5px; font-weight:800; color:var(--ink)}
.bk-empty-sec .muted{font-weight:700; margin-inline-start:4px}
.bk-line{padding:7px 4px}
.bk-acts .btn.sm{padding:5px 10px; font-size:11.5px}
.bk-sec h3{display:flex; align-items:center; gap:8px; flex-wrap:wrap}
.bk-line{display:flex; align-items:center; gap:10px; padding:8px 4px; border-bottom:1px dashed var(--line); font-size:12.5px}
.bk-line:last-child{border-bottom:0}
.bk-date{flex:none; font-size:11px; font-weight:700; color:var(--muted); font-variant-numeric:tabular-nums; width:78px}
.bk-main{flex:1; min-width:0; display:flex; flex-direction:column; gap:2px}
.bk-main > b{font-size:12.5px}
.bk-main > .muted{font-size:11px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.bk-match{font-size:11px; font-weight:700; color:var(--brand)}
.bk-line > em{font-style:normal; font-weight:800; font-variant-numeric:tabular-nums; white-space:nowrap}
.bk-line.out > em{color:var(--danger)}
.bk-line.in > em{color:var(--ok)}
.bk-acts{display:flex; gap:4px; flex:none}
tr.bk-open td{background:color-mix(in srgb, var(--brand) 7%, transparent)}

/* نقطة التسليم في نموذج الرحلة */
.drop-box{border:1px solid var(--line); border-radius:12px; padding:12px 14px; margin:2px 0 10px;
  background:color-mix(in srgb, var(--brand) 3%, transparent)}
.drop-head{display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; font-size:12.5px;
  font-weight:800; color:var(--ink); margin-bottom:8px}
.drop-head .muted{font-size:11px; font-weight:700}
.drop-state{display:flex; align-items:center; gap:8px; flex-wrap:wrap; min-height:18px; margin-top:2px}
.drop-state b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:12.5px;
  font-weight:800; color:var(--brand)}

/* خريطة البلاطات: بلا مكتبة — بلاطات مطلقة داخل إطار يُسحب */
.tm{position:relative; overflow:hidden; cursor:crosshair; background:#E8EDE9; touch-action:none;
  user-select:none; -webkit-user-select:none}
.tm.tm-grab{cursor:grabbing}
.tm-tiles{position:absolute; inset:0}
.tm-tiles img{position:absolute; width:256px; height:256px; pointer-events:none}
.tm-pin{position:absolute; width:0; height:0; pointer-events:none}
.tm-pin > span{position:absolute; left:-11px; top:-27px; width:22px; height:22px; border-radius:50% 50% 50% 0;
  transform:rotate(-45deg); background:var(--danger); border:2.5px solid #fff;
  box-shadow:0 2px 6px rgba(0,0,0,.35)}
.tm-zoom{position:absolute; inset-inline-end:10px; top:10px; display:flex; flex-direction:column; gap:4px; z-index:2}
.tm-zb{width:30px; height:30px; border-radius:8px; border:1px solid var(--line); background:#fff;
  color:var(--ink); font-size:17px; font-weight:800; line-height:1; cursor:pointer; font-family:inherit;
  box-shadow:0 2px 6px rgba(0,0,0,.15)}
.tm-zb:hover{background:var(--ground)}
.tm-hint{position:absolute; inset-inline-start:10px; top:10px; z-index:2; background:rgba(255,255,255,.92);
  border-radius:999px; padding:4px 11px; font-size:10.5px; font-weight:800; color:var(--muted);
  pointer-events:none}
.tm-credit{position:absolute; inset-inline-end:6px; bottom:5px; z-index:2; font-size:9.5px; font-weight:700;
  color:#4a5560; background:rgba(255,255,255,.85); border-radius:6px; padding:1px 6px; text-decoration:none}

/* خريطة الموقع في بطاقة الموقع */
.loc-map{height:230px; border:1px solid var(--line); border-radius:12px; overflow:hidden;
  background:var(--ground); margin-top:4px}
.loc-map iframe{width:100%; height:100%; border:0; display:block}
.loc-map-empty{height:100%; display:flex; align-items:center; justify-content:center;
  color:var(--muted); font-size:12px; font-weight:700; text-align:center; padding:0 20px}
.loc-map-bar{display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin:8px 0 4px}
.loc-map-bar .muted{font-size:11.5px; font-weight:700}

/* شريط فلاتر المخالفات: ملتصق بجدوله، كل حقل موسوم */
.vl-filters{display:flex; flex-wrap:wrap; align-items:flex-end; gap:10px 12px;
  padding:12px 16px; border-bottom:1px solid var(--line)}
.vl-f{display:flex; flex-direction:column; gap:4px; min-width:0}
.vl-f > span{font-size:10.5px; font-weight:800; color:var(--muted); letter-spacing:0}
.vl-f select,.vl-f input{min-width:0; width:auto; min-height:34px; font-size:12.5px}
.vl-f select{max-width:190px}
.vl-f input[type="search"]{min-width:230px}
.vl-f-end{margin-inline-start:auto; display:flex; gap:6px; align-items:center; padding-bottom:2px}
.vl-count{padding:8px 16px; font-size:11.5px; font-weight:700; color:var(--muted);
  border-bottom:1px solid var(--line)}
@media (max-width:700px){
  .vl-f input[type="search"]{min-width:150px}
  .vl-f-end{margin-inline-start:0; width:100%}
}

/* لمحة الأقسام في الداشبورد */
.gl-sec{display:flex; align-items:baseline; gap:8px; flex-wrap:wrap}
.gl-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(290px,1fr));
  gap:12px; margin-bottom:var(--gap-section)}
.gl-card{background:var(--card); border:1px solid var(--line); border-radius:14px;
  padding:12px 14px 13px; box-shadow:var(--shadow-card); display:flex;
  flex-direction:column; gap:9px}
.gl-head{display:flex; align-items:center; gap:8px; color:var(--ink); text-decoration:none;
  border-bottom:1px solid var(--line); padding-bottom:8px}
.gl-head svg{color:var(--brand); flex:none}
.gl-head > b{font-size:13px; font-weight:800}
.gl-note{font-size:10.5px; font-weight:700; color:var(--muted)}
.gl-go{margin-inline-start:auto; color:var(--muted); font-weight:900; font-size:15px;
  transform:rotate(180deg); transition:transform .15s, color .15s}
.gl-head:hover .gl-go{color:var(--brand); transform:rotate(180deg) translateX(3px)}
.gl-chips{display:flex; flex-wrap:wrap; gap:7px}
.gl-chip{display:inline-flex; align-items:baseline; gap:6px; text-decoration:none;
  background:var(--ground); border:1px solid transparent; border-radius:999px;
  padding:5px 11px; transition:background .15s, border-color .15s}
.gl-chip:hover{background:var(--card); border-color:var(--line)}
.gl-chip > b{font-size:13.5px; font-weight:800; color:var(--ink);
  font-variant-numeric:tabular-nums}
.gl-chip > i{font-style:normal; font-size:11px; font-weight:700; color:var(--muted)}
.gl-chip.ok > b{color:var(--ok)}
.gl-chip.warn{background:color-mix(in srgb, var(--warn) 12%, transparent)}
.gl-chip.warn > b{color:var(--warn)}
.gl-chip.danger{background:color-mix(in srgb, var(--danger) 11%, transparent)}
.gl-chip.danger > b{color:var(--danger)}
.gl-chip.empty > b{color:var(--ok); font-size:12px}
.gl-chip.empty > i{color:var(--ok)}

/* صدى اللوحة اللاتينية تحت حقل اللوحة العربية */
.plate-en{display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; margin:6px 2px 0; min-height:15px}
.plate-en > b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:12.5px;
  font-weight:800; letter-spacing:1px; color:var(--brand); white-space:nowrap; direction:ltr}
.plate-en > i{font-style:normal; font-size:10.5px; font-weight:700; color:var(--warn)}
#tasks-page .field-hint{color:var(--muted); font-weight:400}

#tasks-page .btn{border:none; border-radius:11px; padding:9px 17px; font-size:13px; cursor:pointer; display:inline-flex; align-items:center; gap:6px; font-weight:800; font-family:inherit; transition:filter .15s, transform .1s, box-shadow .15s}
#tasks-page .btn:hover{filter:brightness(1.05); transform:translateY(-1px)}
#tasks-page .btn:active{filter:brightness(.92); transform:translateY(0)}
#tasks-page .btn-primary-green{background:var(--brand); color:#fff; box-shadow:0 6px 14px -6px rgba(30,76,66,.45)}
#tasks-page .btn-outline{background:#fff; color:var(--ink); border:1px solid var(--line)}
#tasks-page .btn-outline:hover{border-color:#C9D2CE}
#tasks-page .btn-sm{padding:6.5px 13px; font-size:12px}

#tasks-page .badge{display:inline-flex; align-items:center; gap:4px; padding:3.5px 10px; border-radius:999px; font-size:11px; font-weight:700}
#tasks-page .badge-valid{background:var(--ok-bg); color:var(--ok)}
#tasks-page .badge-soon{background:var(--warn-bg); color:var(--warn)}
#tasks-page .badge-urgent{background:var(--warn-bg); color:var(--warn)}
#tasks-page .badge-expired{background:var(--danger-bg); color:var(--danger)}
#tasks-page .badge-none{background:var(--chip); color:var(--muted)}

/* شريط تبويبات موحّد لكل الصفحات — كان محصوراً بصفحة المهام فتظهر بقية
   الصفحات بأزرار المتصفح الافتراضية */
.task-tab-bar{display:flex; gap:6px; background:#fff; border:1px solid var(--line);
  border-radius:999px; padding:5px; width:fit-content; max-width:100%; box-shadow:var(--shadow-card);
  flex-wrap:wrap; margin-bottom:var(--gap-section)}
.toolbar > .task-tab-bar{margin-bottom:0}
.task-tab{background:none; border:none; padding:8px 16px; border-radius:999px; font-size:12.5px;
  font-weight:700; color:var(--muted); cursor:pointer; font-family:inherit; display:inline-flex;
  align-items:center; gap:6px; white-space:nowrap; line-height:1.2;
  transition:background .12s, color .12s}
.task-tab:hover{background:var(--ground); color:var(--ink)}
.task-tab.active{background:var(--brand); color:#fff; box-shadow:0 6px 14px -8px rgba(8,94,166,.7)}
.task-tab.active:hover{background:var(--brand); color:#fff}
.task-tab:focus-visible{outline:2px solid var(--brand); outline-offset:2px}
#tasks-page .task-tab{padding:9px 18px; font-size:13px}

#tasks-page .task-actions-row{display:flex; gap:10px; margin-top:var(--gap-section); flex-wrap:wrap}
#tasks-page .stat-cards-row{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:16px 0 20px}
#tasks-page .stat-card{background:var(--card-grad); border:1px solid rgba(20,56,48,.07); border-radius:var(--radius); padding:16px 18px; text-align:right; box-shadow:var(--shadow-card); transition:box-shadow .15s, transform .15s}
#tasks-page .stat-card:hover{box-shadow:var(--shadow-hover); transform:translateY(-2px)}
#tasks-page .stat-icon{width:38px; height:38px; border-radius:11px; display:flex; align-items:center; justify-content:center; margin-bottom:10px}
#tasks-page .stat-value{font-size:26px; font-weight:800; letter-spacing:-.3px; color:var(--ink); font-variant-numeric:tabular-nums}
#tasks-page .stat-label{font-size:11.5px; margin-top:4px; font-weight:700; color:var(--muted)}
#tasks-page .stat-total .stat-icon{background:var(--brand-tint); color:var(--brand)}
#tasks-page .stat-valid .stat-icon{background:var(--ok-bg); color:var(--ok)}
#tasks-page .stat-soon .stat-icon{background:var(--warn-bg); color:var(--warn)}
#tasks-page .stat-urgent .stat-icon{background:var(--warn-bg); color:var(--warn)}
#tasks-page .stat-expired .stat-icon{background:var(--danger-bg); color:var(--danger)}

#tasks-page .task-main-grid{display:grid; grid-template-columns:240px 1fr 1fr 1fr; gap:16px; margin-top:var(--gap-section); align-items:start}
#tasks-page .task-col{margin-bottom:0; padding:18px}
#tasks-page .task-col-head{display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:12px}
#tasks-page .task-col-sub{margin:3px 0 0; font-size:11.5px; color:var(--muted)}
#tasks-page .task-progress-wrap{font-size:11.5px; color:var(--muted); margin-bottom:12px; display:flex; flex-direction:column; gap:6px; font-weight:700}
#tasks-page .task-progress-bar{height:6px; border-radius:999px; background:var(--chip); overflow:hidden}
#tasks-page .task-progress-fill{height:100%; border-radius:999px}
#tasks-page .task-progress-fill.stat-valid{background:var(--brand)}
#tasks-page .task-progress-fill.stat-urgent{background:var(--warn)}
#tasks-page .task-progress-fill.stat-total{background:var(--steel)}

#tasks-page .task-list{display:flex; flex-direction:column; gap:8px; max-height:420px; overflow-y:auto; padding:0}
#tasks-page .task-list.expanded{max-height:none}
#tasks-page .task-row{display:flex; align-items:flex-start; gap:10px 8px; flex-wrap:wrap; border:1px solid var(--line); border-radius:var(--radius-sm); padding:11px 13px; cursor:pointer; background:#fff; transition:background .12s, border-color .12s}
#tasks-page .task-row:hover{background:var(--chip); border-color:#C9D2CE}
#tasks-page .task-row.done .task-title{text-decoration:line-through; color:var(--muted)}
#tasks-page .task-row.done{opacity:.6}
#tasks-page .task-check{width:21px; height:21px; border-radius:7px; border:2px solid var(--line); flex-shrink:0; display:flex; align-items:center; justify-content:center; color:#fff; margin-top:1px}
#tasks-page .task-check.checked{background:var(--brand); border-color:var(--brand)}
#tasks-page .task-row-body{flex:1 1 150px; min-width:150px}
#tasks-page .task-title{font-size:13px; font-weight:700; line-height:1.6; overflow-wrap:anywhere}
#tasks-page .task-meta{font-size:11px; color:var(--muted); margin-top:3px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-weight:700}
#tasks-page .task-due,#tasks-page .task-assigner{white-space:nowrap}
#tasks-page .task-row > .badge{flex-shrink:0; white-space:nowrap}
#tasks-page .task-row > .btn{flex-shrink:0; white-space:nowrap}
#tasks-page .task-meta-late{color:var(--danger); font-weight:700}
#tasks-page .task-edited-tag{font-size:10.5px; font-weight:400; color:var(--muted)}
#tasks-page .task-row-archive{cursor:default; align-items:center; justify-content:space-between}
#tasks-page .task-row-archive:hover{background:#fff; border-color:var(--line)}
#tasks-page .task-row-review{border-color:var(--warn)}
#tasks-page .task-review-note{display:flex; align-items:center; gap:6px; margin-top:6px; padding:6px 10px; border-radius:var(--radius-sm); font-size:11.5px; font-weight:700; line-height:1.5}
#tasks-page .task-review-note.pending{background:var(--warn-bg); color:var(--warn)}
#tasks-page .task-review-note.redirected{background:var(--ok-bg); color:var(--ok)}

#tasks-page .task-sidebar{text-align:center; padding:20px 16px}
#tasks-page .task-ring-wrap{display:flex; justify-content:center; margin:10px 0}
#tasks-page .task-ring-caption{font-size:13px; font-weight:700; color:var(--muted); margin:0 0 8px}
#tasks-page .task-tip-bar{background:var(--brand-tint); border:1px solid rgba(30,76,66,.14); border-radius:var(--radius); padding:15px 19px; margin-top:var(--gap-section); font-size:12.8px; color:var(--brand-dark)}

#tasks-page .table-scroll{overflow-x:auto}
#tasks-page table.data-table{width:100%; border-collapse:collapse; min-width:760px}
#tasks-page table.data-table th{text-align:start; font-size:11px; color:var(--muted); letter-spacing:.4px; font-weight:700; padding:12px 16px; background:#F3F7F2; border-bottom:1px solid var(--line); white-space:nowrap}
#tasks-page table.data-table td{padding:12px 16px; border-bottom:1px solid #EDF2EE; font-size:13px; white-space:nowrap}
#tasks-page table.data-table tr:last-child td{border-bottom:none}
#tasks-page table.data-table tr:hover td{background:var(--chip)}
#tasks-page table.data-table tr.row-needs-attention td{background:var(--warn-bg)}

#tasks-page .action-wrap{position:relative; display:inline-block}
#tasks-page .action-btn{border:1px solid var(--line); background:#fff; border-radius:9px; padding:5px 10px; cursor:pointer; font-size:15px; line-height:1; transition:background .12s}
#tasks-page .action-btn:hover{background:var(--chip)}
.action-menu{background:#fff; border:1px solid var(--line); border-radius:13px; box-shadow:var(--shadow-hover); min-width:170px; z-index:150; display:none; overflow:hidden}
.action-menu.open{display:block}
.action-menu button{width:100%; text-align:start; background:none; border:none; padding:10px 14px; font-size:12.8px; cursor:pointer; display:flex; align-items:center; gap:8px; font-family:inherit; color:var(--ink)}
.action-menu button:hover{background:var(--chip)}
.action-menu button.danger{color:var(--danger)}
.action-menu hr{border:none; border-top:1px solid var(--line); margin:4px 0}

#tasks-page .archive-filter-row{display:flex; align-items:center; justify-content:space-between; gap:14px; margin:14px 0; flex-wrap:wrap}
#tasks-page .archive-filter-label{font-size:12.5px; font-weight:700; color:var(--muted); display:flex; align-items:center; gap:8px; white-space:nowrap}
#tasks-page .archive-filter-label select{padding:7.5px 11px; border-radius:var(--radius-sm); border:1px solid var(--line); font-size:12.8px; background:#fff; font-family:inherit; color:var(--ink)}
#tasks-page .task-archive-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px}

#tasks-page .weekly-plan-pool{display:flex; flex-wrap:wrap; gap:8px; min-height:54px; padding:10px; border:1.5px dashed var(--line); border-radius:var(--radius-sm); background:var(--chip)}
#tasks-page .weekly-plan-pool.drag-over{border-color:var(--brand); background:var(--gold-soft)}
#tasks-page .weekly-plan-chip{display:flex; align-items:center; gap:6px; background:#fff; border:1px solid var(--line); border-radius:999px; padding:6px 12px 6px 6px; font-size:12.5px; font-weight:700; cursor:grab; box-shadow:var(--shadow-card); user-select:none}
#tasks-page .weekly-plan-chip:active{cursor:grabbing}
#tasks-page .weekly-plan-chip button{display:flex; align-items:center; justify-content:center; width:18px; height:18px; border-radius:50%; border:none; background:var(--chip); color:var(--muted); cursor:pointer; flex-shrink:0; padding:0}
#tasks-page .weekly-plan-chip button:hover{background:var(--danger); color:#fff}
#tasks-page .weekly-plan-grid{display:grid; grid-template-columns:repeat(7,1fr); gap:10px}
#tasks-page .weekly-plan-day{display:flex; flex-direction:column; gap:8px}
#tasks-page .weekly-plan-day-header{display:flex; align-items:center; justify-content:space-between; font-size:12.5px; font-weight:800; color:var(--muted); padding:0 4px}
#tasks-page .weekly-plan-day-num{color:var(--ink)}
#tasks-page .weekly-plan-day-body{display:flex; flex-direction:column; gap:8px; min-height:160px; padding:8px; border:1.5px dashed var(--line); border-radius:var(--radius-sm); background:var(--chip)}
#tasks-page .weekly-plan-day-body.drag-over{border-color:var(--brand); background:var(--gold-soft)}
#tasks-page .home-perf-nav{display:flex; align-items:center; gap:6px}
#tasks-page .home-perf-nav-btn{display:flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:9px; border:1px solid var(--line); background:var(--chip); color:var(--ink); cursor:pointer; transition:background .15s, color .15s}
#tasks-page .home-perf-nav-btn:hover{background:var(--brand); color:#fff}
#tasks-page .modal-actions{display:flex; justify-content:flex-start; gap:8px; margin-top:18px}

@media (max-width:1200px){
  #tasks-page .task-main-grid{grid-template-columns:1fr 1fr}
  #tasks-page .task-sidebar{grid-column:1/-1}
  #tasks-page .task-archive-grid{grid-template-columns:1fr 1fr}
  #tasks-page .weekly-plan-grid{grid-template-columns:repeat(4,1fr)}
}
@media (max-width:800px){
  #tasks-page .task-main-grid,#tasks-page .task-archive-grid{grid-template-columns:1fr}
  #tasks-page .stat-cards-row{grid-template-columns:repeat(2,1fr)}
  #tasks-page .weekly-plan-grid{grid-template-columns:repeat(2,1fr)}
  .task-tab-bar{width:100%; max-width:100%; overflow-x:auto; flex-wrap:nowrap; scrollbar-width:none}
  .task-tab{flex-shrink:0}
}

/* ===== بطاقة التحصيل في الداشبورد ===== */
.coll-widget{display:flex; gap:26px; align-items:stretch; flex-wrap:wrap; margin-bottom:var(--gap-section)}
.coll-side{flex:1 1 220px; min-width:200px}
.coll-big{font-size:34px; font-weight:800; letter-spacing:-.5px; color:var(--ink); font-variant-numeric:tabular-nums; margin-top:8px}
.coll-big.danger{color:var(--danger)}
.coll-cap{font-size:12px; color:var(--muted); font-weight:700; margin-top:3px}
.coll-link{display:inline-block; margin-top:12px; font-size:12.5px; font-weight:700; color:var(--brand-dark); text-decoration:none}
.coll-link:hover{text-decoration:underline}
.coll-month{flex:1.4 1 300px; border-inline-start:1px solid var(--line); padding-inline-start:26px; display:flex; flex-direction:column; gap:10px; justify-content:center}
.coll-nav{display:flex; align-items:center; gap:10px; margin-bottom:2px}
.coll-nav b{font-size:14.5px; min-width:110px; text-align:center}
.coll-nav-btn{display:flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:9px; border:1px solid var(--line); background:var(--chip); color:var(--ink); cursor:pointer; transition:background .15s, color .15s}
.coll-nav-btn:hover:not(:disabled){background:var(--brand); color:#fff}
.coll-nav-btn:disabled{opacity:.35; cursor:not-allowed}
.coll-row{display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:12.8px; font-weight:700; color:var(--muted); border-bottom:1px dashed var(--line); padding-bottom:9px}
.coll-row:last-child{border-bottom:none; padding-bottom:0}
.coll-row b{font-size:16.5px; color:var(--ink); font-variant-numeric:tabular-nums}
.coll-row b.ok{color:var(--ok)}
.coll-row b.warn{color:var(--warn)}
@media (max-width: 700px){
  .coll-month{border-inline-start:none; padding-inline-start:0}
}

/* ===== حالة الأسطول الآن + خريطة المواقع ===== */
.fnow-widget{display:flex; padding:0; overflow:hidden; margin-bottom:var(--gap-section); align-items:stretch}
.fnow-side{flex:1 1 250px; min-width:230px; padding:17px 19px 15px; display:flex; flex-direction:column}
.fnow-head{display:flex; align-items:center; justify-content:space-between; gap:8px}
.fnow-head h3{margin:0}
.fnow-refresh{display:inline-flex; align-items:center; gap:5px; border:1px solid var(--line); background:var(--chip); color:var(--muted); border-radius:999px; padding:4px 10px; font-size:11px; font-weight:700; cursor:pointer; font-family:inherit; transition:background .15s, color .15s}
.fnow-refresh:hover{background:var(--brand); color:#fff; border-color:var(--brand)}
.fnow-counters{display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:13px 0 12px}
.fnow-counter{background:var(--chip); border-radius:var(--radius-sm); padding:11px 6px; text-align:center}
.fnow-counter b{display:block; font-size:22px; font-weight:800; color:var(--ink); font-variant-numeric:tabular-nums; letter-spacing:-.3px}
.fnow-counter.ok b{color:var(--ok)}
.fnow-counter.warn b{color:var(--warn)}
.fnow-counter i{font-style:normal; font-size:10.8px; font-weight:700; color:var(--muted)}
.fnow-list{flex:1}
.fnow-row{display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:12.6px; font-weight:700; color:var(--muted); padding:7px 0; border-bottom:1px dashed var(--line)}
.fnow-row:last-child{border-bottom:none}
.fnow-row b{color:var(--ink); font-size:14px; font-variant-numeric:tabular-nums}
.fnow-row span{display:flex; align-items:center; min-width:0}
.fnow-dot{width:8px; height:8px; border-radius:50%; display:inline-block; margin-inline-end:7px; flex-shrink:0}
.fnow-foot{font-size:11px; color:var(--muted); font-weight:700; margin-top:10px}
.fnow-map{flex:2.2 1 420px; padding:38px 18px 14px; position:relative;
  background:radial-gradient(120% 90% at 62% 30%, #16283A 0%, #101C28 55%, #0B141D 100%)}
.fnow-map::after{content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(60% 45% at 50% 55%, rgba(8,94,166,.18), transparent 70%)}
.fnow-map svg{position:relative; z-index:1}
.fnow-map svg{width:100%; height:100%; max-height:420px; display:block}
.fnow-badge{position:absolute; top:11px; inset-inline-start:14px; z-index:2;
  background:rgba(255,255,255,.10); color:#CFE1F2; font-size:10.5px; font-weight:700; padding:4px 11px;
  border-radius:999px; border:1px solid rgba(255,255,255,.14); backdrop-filter:blur(4px)}
@media (max-width: 900px){
  .fnow-widget{flex-direction:column}
  .fnow-map{min-height:300px}
}

/* ===== غلاف بطاقة المركبة الجديد (رسمة ملونة مقتبسة من المرجع المعتمد) ===== */
.veh-hero{position:relative; border-radius:14px; padding:32px 12px 42px; margin-bottom:var(--gap-section);
  background:linear-gradient(180deg,var(--chip),#EBF1EC);
  display:flex; justify-content:center; align-items:center}
.veh-hero.warn{background:linear-gradient(180deg,#FAF6EA,#F2ECDA)}
.veh-hero.danger{background:linear-gradient(180deg,#FBF3F1,#F5E7E3)}
.veh-hero.na{background:linear-gradient(180deg,#F3F5F4,#E9EDEB)}
.vh-img{display:block; max-height:118px; max-width:86%; width:auto; height:auto;
  filter:drop-shadow(0 7px 9px rgba(37,38,38,.16))}
.vh-health{white-space:nowrap}
.vh-chip{position:absolute; top:8px; display:inline-flex; align-items:center; gap:5px;
  font-size:10.5px; font-weight:700; padding:3.5px 9px; border-radius:999px;
  background:rgba(255,255,255,.88); color:var(--muted); box-shadow:0 1px 3px rgba(37,38,38,.08)}
.vh-loc{inset-inline-start:8px}
.vh-status{inset-inline-end:8px}
.hdot{width:7px; height:7px; border-radius:50%; display:inline-block; flex-shrink:0}
.vh-health{position:absolute; bottom:24px; inset-inline-start:10px; font-size:10px; font-weight:800;
  display:inline-flex; align-items:center; gap:4px}
.vh-plate{position:absolute; bottom:-12px; inset-inline:0; display:flex; justify-content:center}
.vh-plate .plate-chip{box-shadow:0 3px 10px -2px rgba(37,38,38,.22)}

/* ===== حركة خريطة الأسطول: رسم الحدود + مذنّب طوّاف + قفز الفقاعات + نبضات رادار ===== */
.fnow-fill,.fnow-glow{animation:fnowFadeIn .8s ease .45s backwards}
@keyframes fnowFadeIn{from{opacity:0}}
.fnow-draw{stroke-dasharray:1000 1000; animation:fnowDraw 1.5s ease-out forwards}
@keyframes fnowDraw{from{stroke-dashoffset:1000}to{stroke-dashoffset:0}}
.fnow-comet{stroke-dasharray:20 980; opacity:.9; animation:fnowComet 15s linear 1.8s infinite}
@keyframes fnowComet{from{stroke-dashoffset:1000}to{stroke-dashoffset:-1000}}
.fnow-city{transform-box:fill-box; transform-origin:center;
  animation:fnowPop .55s cubic-bezier(.34,1.56,.64,1) backwards; transition:transform .18s ease; cursor:pointer}
.fnow-city:hover{transform:scale(1.08)}
@keyframes fnowPop{from{opacity:0; transform:scale(.25)}}
@media (prefers-reduced-motion: reduce){
  .fnow-fill,.fnow-glow,.fnow-draw,.fnow-city{animation:none}
  .fnow-comet{display:none}
  .fnow-city{transition:none}
}

/* ===== مركز الوثائق: ملخص ← إجراء ← تفصيل ===== */
.docs-hero{display:grid; grid-template-columns:330px 1fr; gap:14px; margin-bottom:14px; align-items:stretch}
.docs-ring-card{display:flex; flex-direction:row-reverse; align-items:center; gap:14px; text-align:start}
.docs-ring-card > svg{flex:none; width:104px; height:104px}
.docs-ring-side{display:flex; flex-direction:column; gap:7px; min-width:0}
.docs-scope{display:flex; gap:4px; background:var(--chip); border-radius:999px; padding:3px}
.docs-scope-btn{border:0; background:none; border-radius:999px; padding:4px 12px; font-size:11px; font-weight:800; color:var(--muted); cursor:pointer; font-family:inherit}
.docs-scope-btn.on{background:#fff; color:var(--ink); box-shadow:0 1px 3px rgba(37,38,38,.12)}
.docs-tiles{display:grid; grid-template-columns:repeat(4,1fr); gap:12px}
.docs-tile{background:var(--card-grad); border:1px solid var(--line); border-radius:var(--radius);
  padding:14px 16px; text-align:start; cursor:pointer; font-family:inherit; box-shadow:var(--shadow-card);
  transition:box-shadow .15s, transform .15s; position:relative;
  display:flex; flex-direction:column; justify-content:center; gap:2px; min-height:0}
.docs-tile:hover{box-shadow:var(--shadow-hover); transform:translateY(-2px)}
.docs-tile b{display:block; font-size:27px; font-weight:800; letter-spacing:-.4px; color:var(--ink); font-variant-numeric:tabular-nums}
.docs-tile i{font-style:normal; font-size:11.5px; font-weight:700; color:var(--muted)}
.docs-tile.expired b{color:var(--danger)}
.docs-tile.d30 b{color:var(--warn)}
.docs-tile.d60 b{color:var(--warn)}
.docs-tile.none b{color:var(--muted)}
.docs-tile.active{outline:2px solid var(--brand); outline-offset:-1px}
.docs-tile.active::after{content:"يُفلتر الآن"; position:absolute; top:10px; inset-inline-start:12px; font-size:9.5px; font-weight:800; color:var(--brand)}
.docs-types h3{margin-bottom:10px}
.docs-type-row{display:flex; align-items:center; gap:10px; padding:6.5px 0; font-size:12.3px; font-weight:700; color:var(--ink)}
.docs-type-row > span{width:92px; flex-shrink:0; color:var(--muted)}
.docs-type-row b{width:26px; text-align:center; font-variant-numeric:tabular-nums; color:var(--brand)}
.docs-type-row b.bad{color:var(--danger)}
.docs-type-bar{flex:1; height:8px; border-radius:999px; background:var(--chip); overflow:hidden; display:flex}
.docs-type-bar i{height:100%; display:block}

.docs-mid{display:grid; grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); gap:14px;
  margin-bottom:14px; align-items:start}
/* قائمة «تحتاج إجراءً» بعرض الصفحة: عمودان يملآن السطر بدل عمود ضيق وفراغ */
.docs-queue{margin-bottom:0; display:flex; flex-direction:column}
.docs-types{display:flex; flex-direction:column}
.docs-types .docs-type-row:last-of-type{margin-bottom:0}
/* موجة التجديدات بعرض الصفحة: اثنا عشر شهراً تستحق السطر كاملاً */
.docs-horizon{margin-bottom:14px}
.docs-q-list{display:grid; grid-template-columns:repeat(auto-fill,minmax(360px,1fr)); gap:0 18px}
.docs-queue h3,.docs-horizon h3{margin-bottom:8px}
.docs-q-head{display:flex; align-items:center; gap:9px; margin-bottom:8px}
.docs-q-head h3{margin-bottom:0}
.count-badge2{background:var(--chip); border-radius:999px; padding:2px 10px; font-size:11.5px; font-weight:800; color:var(--muted)}
.docs-q-row{display:flex; align-items:center; gap:10px; padding:8.5px 10px; border-radius:12px; margin-bottom:6px; background:#fff; border:1px solid var(--line)}
.docs-q-row{border-inline-start:3px solid transparent}
.docs-q-row.expired{border-inline-start-color:var(--danger)}
.docs-q-row.d30{border-inline-start-color:var(--warn)}
.docs-q-row.d60{border-inline-start-color:#D9C27E}
.docs-q-row.none{border-inline-start-color:#AAB4AF}
.docs-q-ic{width:30px; height:30px; border-radius:9px; background:var(--chip); display:inline-flex; align-items:center; justify-content:center; color:var(--muted); flex-shrink:0}
.docs-q-row.expired .docs-q-ic{background:#F6E2DD; color:var(--danger)}
.docs-q-row.d30 .docs-q-ic{background:#F1E8CE; color:var(--warn)}
.docs-q-body{flex:1; min-width:0; line-height:1.45}
.docs-q-body b{font-size:12.8px; display:block}
.docs-q-body .muted{font-size:11px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; display:block}
.dpill-days{font-size:10.5px; font-weight:800; padding:3.5px 9px; border-radius:999px; white-space:nowrap; flex-shrink:0}
.dpill-days.expired{background:var(--danger); color:#fff}
.dpill-days.d30{background:var(--warn); color:#fff}
.dpill-days.d60{background:var(--warn-bg); color:var(--warn)}
.dpill-days.ok{background:var(--ok-bg); color:var(--ok)}
.dpill-days.none{background:var(--chip); color:var(--muted); border:1px dashed #CBD3CE}
.docs-clear{padding:6px 2px 2px; text-align:start; color:var(--muted); font-weight:700; font-size:12.5px}
.docs-clear::before{content:"✓"; margin-inline-end:8px; color:var(--ok); font-weight:900}
/* بطاقة كل ما فيها عنوان وحالة فارغة تنكمش إلى سطرين */
.chart-card:has(> .docs-clear:last-child){padding-bottom:12px}
.chart-card:has(> .docs-clear:last-child) > h3{margin-bottom:6px}
.link-more2{display:block; width:100%; text-align:center; background:none; border:none; color:var(--brand-dark); font-weight:800; cursor:pointer; font-size:12.3px; padding:8px 0 2px; font-family:inherit}
.docs-legend{display:flex; gap:14px; justify-content:center; font-size:11px; font-weight:700; color:var(--muted); margin-top:4px}
.docs-legend i{width:9px; height:9px; border-radius:3px; display:inline-block; margin-inline-end:5px; vertical-align:-1px}

.docs-matrix .docs-m-head{display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:10px}
.docs-m-head h3{margin:0}
.docs-tabs{padding:4px; box-shadow:none}
.docs-tabs .task-tab{padding:6.5px 14px; font-size:12.3px}
.docs-search{max-width:220px; margin-inline-start:auto; border-radius:999px; padding:7px 14px; font-size:12.3px}
.docs-m-wrap{max-height:480px; overflow:auto; border:1px solid var(--line); border-radius:14px}
.docs-m-table{width:100%; border-collapse:collapse; min-width:640px}
.docs-m-table th{position:sticky; top:0; background:#F3F7F2; z-index:2; text-align:start; font-size:11px; color:var(--muted); font-weight:800; padding:10px 12px; border-bottom:1px solid var(--line); white-space:nowrap}
.docs-m-table td{padding:8px 12px; border-bottom:1px solid #EDF2EE; font-size:12.3px; white-space:nowrap}
.docs-m-table tbody tr{cursor:pointer}
.docs-m-table tbody tr:hover td{background:var(--chip)}
.docs-m-table tr:last-child td{border-bottom:none}
.docs-sticky{position:sticky; inset-inline-start:0; background:#fff; z-index:1; min-width:130px; box-shadow:-6px 0 8px -8px rgba(37,38,38,.15) inset}
.docs-m-table thead .docs-sticky{background:#F3F7F2; z-index:3}
.docs-m-table tbody tr:hover .docs-sticky{background:var(--chip)}
.th-bad{background:var(--danger); color:#fff; border-radius:999px; padding:1px 7px; font-size:10px}
.dcell{display:inline-block; font-size:11px; font-weight:800; padding:3.5px 10px; border-radius:999px; font-variant-numeric:tabular-nums}
.dcell.expired{background:var(--danger); color:#fff}
.dcell.d30{background:var(--warn); color:#fff}
.dcell.d60{background:var(--warn-bg); color:var(--warn)}
.dcell.ok{background:none; color:#7E9187; font-weight:700; padding-inline:2px}
.dcell.none{background:var(--chip); color:#9AA5A0; border:1px dashed #CBD3CE}

@media (max-width: 1100px){
  .docs-hero{grid-template-columns:1fr}
  .docs-ring-card{justify-content:center}
  .docs-mid{grid-template-columns:1fr}
}
@media (max-width: 700px){
  .docs-tiles{grid-template-columns:1fr 1fr}
  .docs-ring-card{flex-wrap:wrap; justify-content:center; text-align:center}
  .docs-ring-side{align-items:center}
}

/* مركز الوثائق — لمسات البحث */
.docs-tile b{font-size:31px}
.docs-tile.zero b{color:var(--brand); font-size:26px}
.docs-tile.active{outline:none; background:var(--gold-soft)}
.docs-forecast{font-size:10.8px; font-weight:800; color:var(--warn); background:var(--warn-bg); border-radius:999px; padding:4px 12px}
.docs-pulse{margin-bottom:14px; padding:15px 19px 13px}
.docs-pulse-head{display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; margin-bottom:9px}
.docs-pulse-head h3{margin:0}
.docs-slice{cursor:pointer; transition:opacity .12s}
.docs-slice:hover{opacity:.65}
.th-warn{background:var(--warn); color:#fff; border-radius:999px; padding:1px 7px; font-size:10px}
.docs-divider td{background:var(--chip) !important; color:var(--brand); font-weight:800; font-size:11.5px; padding:6px 12px !important; cursor:default}
@media (prefers-reduced-motion: reduce){ .docs-slice{transition:none} }

/* الموارد البشرية — شارة الأحرف الأولى لموظفي الإدارة */
.emp-avatar{display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px;
  border-radius:50%; background:linear-gradient(135deg,var(--forest-800),var(--forest-900)); color:#fff;
  font-size:11px; font-weight:700; margin-inline-end:8px; vertical-align:middle}

/* ===== الموارد البشرية v2 ===== */
.hr-kpis{display:grid; grid-template-columns:repeat(5,1fr); gap:12px; margin-bottom:var(--gap-section)}
.hr-kpi{background:var(--card-grad); border:1px solid var(--line); border-radius:var(--radius); padding:14px 16px 12px;
  text-align:start; cursor:pointer; font-family:inherit; box-shadow:var(--shadow-card); transition:box-shadow .15s, transform .15s}
.hr-kpi:hover{box-shadow:var(--shadow-hover); transform:translateY(-2px)}
.hr-kpi b{display:block; font-size:26px; font-weight:800; color:var(--ink); letter-spacing:-.3px; font-variant-numeric:tabular-nums}
.hr-kpi.ok b{color:var(--ok)}
.hr-kpi.warn b{color:var(--warn)}
.hr-kpi.danger b{color:var(--danger)}
.hr-kpi i{font-style:normal; font-size:11.5px; font-weight:700; color:var(--muted); display:block; margin-top:1px}
.hr-kpi-sub{display:block; font-size:10px; font-weight:700; color:var(--muted); margin-top:5px; opacity:.85}
.hr-waffle-card{margin-bottom:14px; padding:15px 19px 17px}
.hr-waffle-head{display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; margin-bottom:10px}
.hr-waffle-head h3{margin:0}
.hr-legend{display:flex; gap:12px; flex-wrap:wrap; margin-inline-start:auto; font-size:10.5px; font-weight:700; color:var(--muted)}
.hr-legend i{width:10px; height:10px; border-radius:3px; display:inline-block; margin-inline-end:4px; vertical-align:-1px}
.hr-sq{cursor:pointer; transition:opacity .3s}
.hr-sq:hover rect{stroke:var(--forest-900); stroke-width:1.6}
.hr-mid{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px}
.hr-dist-row{display:flex; align-items:center; gap:10px; padding:6.5px 0; font-size:12.5px; font-weight:700; color:var(--muted); cursor:pointer}
.hr-dist-row:hover span{color:var(--ink)}
.hr-dist-row > span{width:150px; flex-shrink:0}
.hr-dist-bar{flex:1; height:9px; border-radius:999px; background:var(--chip); overflow:hidden}
.hr-dist-bar i{display:block; height:100%; border-radius:999px; background:var(--mint-strong)}
.hr-dist-row b{min-width:52px; text-align:start; color:var(--ink); font-variant-numeric:tabular-nums}
.hr-doc-chips{display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-top:10px}
.hr-chips{display:flex; gap:6px; flex-wrap:wrap}
.hr-chip{border:1px solid var(--line); background:#fff; color:var(--ink); border-radius:999px; padding:6px 13px;
  font-size:12px; font-weight:700; cursor:pointer; font-family:inherit; transition:background .12s, color .12s}
.hr-chip b{font-variant-numeric:tabular-nums}
.hr-chip.on{background:var(--brand); border-color:var(--brand); color:#fff}
.hr-av{display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:50%;
  color:#fff; font-size:11px; font-weight:700; margin-inline-end:8px; vertical-align:middle; flex-shrink:0}
.hr-rec{width:8px; height:8px; border-radius:50%; display:inline-block; margin-inline-end:7px; vertical-align:1px}
.hr-rec.hot{background:var(--brand)}
.hr-rec.warm{background:var(--mint-strong)}
.hr-rec.cold{background:#CBD4CF}
.hr-table tbody tr{cursor:pointer}
.hr-table tbody tr:hover td{background:rgba(198,227,159,.09)}
.hr-minibar{display:inline-block; width:40px; height:7px; border-radius:999px; background:var(--chip); overflow:hidden; margin-inline-end:7px; vertical-align:2px}
.hr-minibar i{display:block; height:100%; background:var(--mint-strong); border-radius:999px}
.hr-st{display:inline-flex; align-items:center; gap:5px; font-weight:700; font-size:12.5px}
.hr-st.sus{background:var(--danger-bg); color:var(--danger); border-radius:999px; padding:2px 10px}
.hr-doc{font-size:11.5px; font-weight:700}
.hr-doc.ok{color:#7E9187}
.hr-doc.none{color:var(--muted)}
.hr-doc.expired{color:var(--danger)}
.hr-doc.d30{color:var(--warn)}
.hr-doc.d60{color:var(--warn)}
.hr-sortable{cursor:pointer; user-select:none; white-space:nowrap}
.hr-sortable.on{color:var(--brand-dark)}
.hr-money{filter:none; transition:filter .15s}
.hr-money.masked{filter:blur(7px); user-select:none}
.hr-backdrop{position:fixed; inset:0; background:rgba(37,38,38,.32); opacity:0; pointer-events:none; transition:opacity .2s; z-index:180}
.hr-backdrop.on{opacity:1; pointer-events:auto}
.hr-drawer{position:fixed; top:0; bottom:0; left:0; width:420px; max-width:92vw;
  background:var(--card); box-shadow:12px 0 44px rgba(37,38,38,.25); z-index:190; overflow-y:auto;
  transform:translateX(-108%); transition:transform .22s ease}
.hr-drawer.on{transform:none}
.hr-dr-head{display:flex; align-items:center; gap:12px; padding:18px 18px 12px; border-bottom:1px solid var(--line)}
.hr-dr-head b{font-size:15.5px}
.modal-close2{margin-inline-start:auto; background:var(--chip); border:0; border-radius:10px; width:30px; height:30px; cursor:pointer; font-size:14px}
.hr-dr-grid{display:grid; grid-template-columns:1fr 1fr; gap:10px 12px; padding:14px 18px}
.hr-dr-grid > div{background:var(--chip); border-radius:var(--radius-sm); padding:9px 12px}
.hr-dr-grid span{display:block; font-size:10.5px; color:var(--muted); font-weight:700; margin-bottom:2px}
.hr-dr-grid b{font-size:13px}
.hr-dr-sec{margin:8px 18px 8px; font-size:13px; font-weight:800}
#hr-dr-more svg{padding:0 12px}
.hr-dr-trip{display:flex; align-items:center; gap:10px; padding:7px 18px; font-size:12px; font-weight:700; border-bottom:1px dashed var(--line)}
.hr-dr-trip b{flex:1; font-weight:700; color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.hr-dr-trip span{color:var(--muted)}
@media (max-width:1100px){ .hr-kpis{grid-template-columns:repeat(2,1fr)} .hr-mid{grid-template-columns:1fr} }
@media (prefers-reduced-motion: reduce){ .hr-sq,.hr-drawer,.hr-backdrop{transition:none} }

/* ===== المالية — النظرة العامة (غرفة القيادة) ===== */
#fin-body{font-variant-numeric:tabular-nums}
.fov-verdict{display:flex; align-items:center; gap:9px; background:var(--gold-soft); color:var(--brand-dark);
  border-radius:999px; padding:9px 18px; font-size:13px; font-weight:800; margin-bottom:14px}
.fov-verdict.ok{background:var(--gold-soft)}
.fov-verdict.bad{background:var(--danger-bg); color:var(--danger)}
.fov-verdict span{margin-inline-start:auto; font-size:10.5px; font-weight:700; color:var(--muted)}
.fov-hero{display:grid; grid-template-columns:1.2fr 1fr 1.1fr; gap:14px; margin-bottom:14px}
.fov-card-head{display:flex; align-items:center; gap:8px; margin-bottom:8px; flex-wrap:wrap}
.fov-card-head h3{margin:0; flex:1}
.fov-q{width:20px; height:20px; border-radius:50%; border:1px solid var(--line); background:var(--chip);
  color:var(--muted); font-size:11px; font-weight:800; cursor:pointer; flex-shrink:0}
.fov-q:hover{background:var(--brand); color:#fff; border-color:var(--brand)}
.fov-big{font-size:34px; font-weight:800; letter-spacing:-.5px; color:var(--ink); line-height:1.3}
.fov-big.sm{font-size:26px}
.fov-big.neg{color:var(--danger)}
.fov-big em{font-style:normal; font-size:13px; font-weight:700; color:var(--muted)}
.fov-sub{font-size:11.5px; font-weight:700; color:var(--muted); margin-top:4px}
.fov-boxes{margin-top:10px; display:flex; flex-direction:column; gap:7px}
.fov-box{display:flex; align-items:center; gap:10px; font-size:12px; font-weight:700; color:var(--muted); cursor:pointer}
.fov-box:hover span{color:var(--ink)}
.fov-box > span{width:110px; flex-shrink:0; display:flex; align-items:center; gap:5px}
.fov-box-bar{flex:1; height:7px; border-radius:999px; background:var(--chip); overflow:hidden}
.fov-box-bar i{display:block; height:100%; background:var(--mint); border-radius:999px}
.fov-box b{min-width:80px; text-align:start; color:var(--ink)}
.fov-net-row{display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:12.3px;
  font-weight:700; color:var(--muted); padding:5.5px 0; border-bottom:1px dashed var(--line); cursor:pointer}
.fov-net-row:last-child{border-bottom:none}
.fov-net-row:hover span{color:var(--ink)}
.fov-net-row b{color:var(--ink)}
.fov-net-row b i{font-style:normal; font-size:10px; color:var(--muted); font-weight:700}
.fov-net-row.on-us b{color:var(--brand-dark); opacity:.75}
.fov-att{margin-bottom:14px; padding:15px 19px}
.fov-att h3{margin:0 0 8px}
.fov-att-row{display:flex; align-items:center; gap:10px; padding:9px 12px; border-radius:var(--radius-sm);
  font-size:12.8px; font-weight:700; cursor:pointer; border-inline-start:3px solid transparent; transition:background .12s}
.fov-att-row:hover{background:var(--chip)}
.fov-att-row.warn{border-inline-start-color:var(--warn)}
.fov-att-row.warn svg{color:var(--warn)}
.fov-att-row.danger{border-inline-start-color:var(--danger)}
.fov-att-row.danger svg{color:var(--danger)}
.fov-att-row span{flex:1}
.fov-go{flex:0 0 auto !important; color:var(--muted); font-size:16px}
.fov-clear{text-align:center; color:var(--brand-dark); font-size:13px; font-weight:800; padding:6px 0}
.fov-rhythm{margin-bottom:14px}
.fov-mbar{cursor:pointer}
.fov-mbar:hover rect{opacity:.85}
.fov-mirror{display:grid; grid-template-columns:1.1fr 1fr 1fr; gap:14px}
.fov-strip{display:flex; height:12px; border-radius:999px; overflow:hidden; background:var(--chip); margin:10px 0 7px}
.fov-strip i{display:block; height:100%; cursor:pointer; min-width:3px}
.fov-strip-legend{display:flex; gap:12px; flex-wrap:wrap; font-size:10.5px; font-weight:700; color:var(--muted)}
.fov-strip-legend i{width:9px; height:9px; border-radius:3px; display:inline-block; margin-inline-end:4px; vertical-align:-1px}
.fov-sec{font-size:11px; font-weight:800; color:var(--muted); margin:12px 0 3px; border-top:1px dashed var(--line); padding-top:9px}
#fin-pop{position:fixed; z-index:250; max-width:330px; background:var(--forest-900); color:#EAF2EC;
  border-radius:12px; padding:11px 14px; font-size:12px; font-weight:700; line-height:1.8;
  box-shadow:0 14px 40px rgba(0,0,0,.3); opacity:0; pointer-events:none; transition:opacity .15s}
#fin-pop.on{opacity:1; pointer-events:auto}
@media (max-width:1050px){ .fov-hero,.fov-mirror{grid-template-columns:1fr} }
.fov-profit .delta.down{color:var(--warn)}

/* ===== الموردون v2: مصفوفة التسوية والدرج ===== */
.sup-mid{display:grid; grid-template-columns:1.15fr 1fr; gap:14px; margin-bottom:14px}
.smx-card{margin-bottom:14px}
.smx-t{width:100%; border-collapse:collapse; min-width:640px}
.smx-t th{font-size:10px; color:var(--muted); font-weight:700; padding:7px 4px; text-align:center;
  border-bottom:1px solid var(--line); background:var(--chip); white-space:nowrap}
.smx-t th.docs-sticky, .smx-t td.docs-sticky{text-align:start; padding-inline:12px; min-width:150px}
.smx-t td{padding:4px; text-align:center; border-bottom:1px solid #EFF3EF}
.smx-t td.docs-sticky{cursor:pointer; font-size:12.5px}
.smx-t td.docs-sticky:hover b{color:var(--brand-dark)}
.smx-c{display:inline-flex; width:26px; height:20px; border-radius:6px; border:0; cursor:pointer;
  background:transparent; position:relative; overflow:hidden; vertical-align:middle; padding:0}
.smx-c.empty{background:#F1F4F1; cursor:default}
.smx-c.paid{background:var(--brand)}
.smx-c.a1{background:#fff; border:1.7px solid var(--mint-strong)}
.smx-c.a2{background:var(--warn)}
.smx-c.a3{background:var(--danger)}
.smx-c.partial{background:var(--chip); border:1.4px solid var(--brand)}
.smx-c.partial i{position:absolute; inset-inline-start:0; top:0; bottom:0; background:var(--brand)}
.smx-c.partial.a2{border-color:var(--warn)}
.smx-c.partial.a3{border-color:var(--danger)}
.smx-c:hover:not(.empty){transform:scale(1.15)}
.smx-foot td{background:var(--chip); font-size:11px; font-weight:800; color:var(--muted); border-top:1px solid var(--line)}
.sup-score{font-size:11px; font-weight:800; color:var(--brand); background:var(--ok-bg); border-radius:999px; padding:3px 10px; white-space:nowrap}
.sup-score.low{background:var(--warn-bg); color:var(--warn)}
.sup-eq{margin:12px 18px 4px; background:var(--chip); border-radius:var(--radius-sm); padding:11px 14px;
  font-size:12.5px; font-weight:700; color:var(--muted)}
.sup-eq b{color:var(--ink); font-variant-numeric:tabular-nums}
.sup-sts{padding:2px 18px; display:flex; flex-direction:column; gap:6px}
.sup-st{display:flex; align-items:center; gap:9px; border:1px solid var(--line); border-radius:var(--radius-sm);
  padding:8px 11px; font-size:12.5px}
.sup-st.focus{border-color:var(--brand); box-shadow:0 0 0 1.5px var(--brand) inset}
.sup-st b{min-width:86px}
.sup-st .dpill-days{margin-inline-start:auto}
.sup-paybox{margin:12px 18px; background:var(--gold-soft); border-radius:var(--radius-sm); padding:12px}
@media (max-width:1000px){ .sup-mid{grid-template-columns:1fr} }

/* ===== العملاء v2 ===== */
.hr-kpi.active-tile{outline:2px solid var(--brand); outline-offset:-2px; background:var(--gold-soft)}
.cl-state{font-size:10px; font-weight:800; border-radius:999px; padding:2px 9px; margin-inline-start:6px; vertical-align:1px}
.cl-reason{display:block; font-size:10.5px; font-weight:700; color:var(--muted); margin:2px 0 0 0; margin-inline-start:38px}
.cl-map-card{margin-bottom:14px}
.cl-dot{cursor:pointer; transition:opacity .15s}
.cl-dot:hover{opacity:1 !important; stroke-width:2.2}
.cl-rails{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px}
.cl-rail{display:flex; gap:10px; overflow-x:auto; padding-bottom:4px}
.cl-card{flex:0 0 235px; border:1px solid var(--line); border-radius:var(--radius-sm); padding:11px 13px;
  display:flex; flex-direction:column; gap:6px; cursor:pointer; background:#fff;
  border-inline-start-width:3px; transition:box-shadow .15s}
.cl-card:hover{box-shadow:var(--shadow-card)}
.cl-card.danger-edge{border-inline-start-color:var(--danger)}
.cl-card.warn-edge{border-inline-start-color:var(--warn)}
.cl-card b{font-size:13px}
.cl-card span{font-size:11px; font-weight:700; color:var(--muted); line-height:1.7; flex:1}
.cl-card .btn{align-self:flex-start}
.cl-nudge{margin:8px 18px; background:var(--warn-bg); color:var(--warn); border-radius:var(--radius-sm);
  padding:10px 13px; font-size:12px; font-weight:800}
@media (max-width:1000px){ .cl-rails{grid-template-columns:1fr} }
.cl-rails > .chart-card{min-width:0}

/* أوزان العملاء بدل الخريطة الرباعية */
.cl-w-row{display:flex; align-items:center; gap:11px; padding:6px 0; cursor:pointer}
.cl-w-row:hover .cl-w-name{color:var(--brand-dark)}
.cl-w-name{width:150px; flex-shrink:0; font-size:12.8px; font-weight:800; color:var(--ink);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.cl-w-name.muted{color:var(--muted); font-weight:700}
.cl-w-bar{flex:1; height:14px; border-radius:999px; background:var(--chip); overflow:hidden}
.cl-w-bar i{display:block; height:100%; border-radius:999px; min-width:3px}
.cl-w-val{min-width:86px; text-align:start; font-size:12.5px; font-variant-numeric:tabular-nums}
.cl-w-val em{font-style:normal; font-size:10px; font-weight:800}
.cl-w-val em.up{color:var(--brand)}
.cl-w-val em.down{color:var(--warn)}
.cl-w-val.muted{color:var(--muted)}
.cl-w-share{min-width:36px; text-align:start; font-size:10.5px; font-weight:800; color:var(--muted)}

/* ===== إدارة المشروعات — خزانة الملفات ===== */
.prjf-sec{margin-bottom:20px}
.prjf-sec-head{display:flex; align-items:center; gap:9px; margin-bottom:10px}
.prjf-sec-head h3{margin:0; font-size:14.5px}
.prjf-sec-ic{width:28px; height:28px; border-radius:9px; background:var(--brand-tint); color:var(--brand);
  display:inline-flex; align-items:center; justify-content:center}
.count-badge2{background:#fff; border:1px solid var(--line); border-radius:999px; padding:2px 10px;
  font-size:11px; font-weight:800; color:var(--muted)}
.prjf-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(255px,1fr)); gap:14px}
.prjf-empty{color:var(--muted); font-size:12px; font-weight:700; padding:6px 4px 2px}
.prj-folder{position:relative; cursor:pointer; margin-top:26px; transition:transform .15s, box-shadow .15s}
.prj-folder:hover{transform:translateY(-3px)}
.prj-folder:hover .prj-folder-body{box-shadow:var(--shadow-hover)}
.prj-folder-tab{position:absolute; top:-23px; inset-inline-start:14px; background:var(--prjf-tab-bg,var(--brand)); color:#fff;
  border-radius:10px 10px 0 0; padding:4px 16px 26px; font-size:11.5px; font-weight:800; z-index:0; line-height:1.4}
.prj-folder-body{position:relative; z-index:1; background:var(--card-grad); border:1px solid var(--line);
  border-radius:6px 14px 14px 14px; padding:12px 14px; box-shadow:var(--shadow-card);
  display:flex; flex-direction:column; gap:6px; min-height:118px}
.prj-folder-title{font-size:13.5px; line-height:1.5; overflow:hidden; display:-webkit-box;
  -webkit-line-clamp:1; -webkit-box-orient:vertical}
.prj-folder-client{font-size:11px; font-weight:700; color:var(--muted)}
.prj-folder-inv{display:flex; align-items:center; justify-content:space-between; gap:8px;
  font-size:10.8px; font-weight:700; color:var(--muted); border-top:1px dashed var(--line); padding-top:7px}
.prj-coll{font-style:normal; font-size:10px; font-weight:800; border-radius:999px; padding:2.5px 10px; white-space:nowrap}
.prj-folder-meta{display:flex; gap:11px; flex-wrap:wrap; font-size:10.5px; font-weight:700; color:var(--muted)}
.prj-folder-meta svg{vertical-align:-2px; margin-inline-end:2px}
.prjf-cancelled{margin-top:6px}
.prjf-cancelled summary{cursor:pointer; font-size:12.5px; font-weight:800; color:var(--muted); padding:6px 2px}
.prjf-cancelled .prjf-grid{margin-top:12px; opacity:.75}
.prjf-file-grid{display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:14px; margin-bottom:14px}
.prj-q-list{display:flex; flex-direction:column; gap:5px; margin-top:6px}
.prj-q-row{display:flex; gap:8px; align-items:flex-start; font-size:12px; font-weight:700; line-height:1.7}
.prj-q-row.warn{color:var(--warn)}
.prj-q-row.warn svg{color:var(--warn); flex-shrink:0; margin-top:3px}
.prj-q-row.ok{color:var(--muted)}
.prj-q-row.ok svg{color:var(--ok); flex-shrink:0; margin-top:3px}
@media (max-width:1050px){ .prjf-file-grid{grid-template-columns:1fr} }

/* شريط مسار العمل في ملف المشروع */
.prj-wf-bar{display:inline-flex; gap:9px; flex-wrap:wrap; align-items:center; background:var(--card-grad);
  border:1px solid var(--line); border-radius:var(--radius-sm); padding:9px 14px; margin:0 0 14px;
  box-shadow:var(--shadow-card); width:fit-content}
.prj-wf-bar a.btn{text-decoration:none}

/* صف إيعاز التخطيط لدى العمليات */
.ops-plan-row{display:flex; align-items:center; gap:12px; flex-wrap:wrap; border:1px solid var(--line);
  border-radius:var(--radius-sm); padding:11px 14px; margin-bottom:8px; cursor:pointer; background:#fff;
  transition:background .12s, border-color .12s}
.ops-plan-row:hover{background:var(--chip); border-color:#C9D2CE}
.ops-plan-row b{font-size:13.5px}
.ops-plan-row .muted{flex:1; font-size:11.5px; font-weight:700; min-width:200px}
.ops-plan-row .dpill-days{white-space:nowrap}
.ops-sel{max-width:230px; font-size:12px; padding:6px 8px}

/* شارة إيعازات التخطيط على الشريط الجانبي + لافتة العمليات */
.nav-count{margin-inline-start:auto; background:var(--warn); color:#fff; border-radius:999px;
  min-width:20px; height:20px; display:inline-flex; align-items:center; justify-content:center;
  font-size:10.5px; font-weight:800; padding:0 6px}
.nav-item.active .nav-count{background:var(--warn)}
.ops-alert{background:var(--warn-bg); color:var(--warn); border:1px solid rgba(168,132,44,.25);
  border-radius:var(--radius-sm); padding:11px 16px; margin-bottom:12px; font-size:13px;
  font-weight:700; cursor:pointer; transition:filter .15s}
.ops-alert:hover{filter:brightness(.97)}

/* بنود المشروع في الفورم والملف */
.pf-lane{display:flex; gap:7px; align-items:center; margin-bottom:7px}
.pf-lane input,.pf-lane select{flex:1; min-width:0}
.pf-arrow{color:var(--muted); font-weight:800; flex-shrink:0}
.pf-lanes-view{display:flex; flex-direction:column; gap:6px; margin-top:4px}
.pf-lane-row{display:flex; align-items:center; gap:10px; flex-wrap:wrap; border:1px solid var(--line);
  border-radius:var(--radius-sm); padding:8px 12px; font-size:12.5px; font-weight:700}
.pf-lane-row b{min-width:140px}
.pf-lane-row span{color:var(--muted); font-size:11.5px}

/* ---------------- غرفة ضبط الوقود ---------------- */
.fuel-judge{border:1.5px dashed var(--line); border-radius:14px; padding:12px 16px; margin:12px 0;
  font-size:12.5px; color:var(--muted); background:var(--chip); line-height:2; transition:all .25s}
.fuel-judge.good{border-color:var(--mint-strong); background:var(--ok-bg); color:var(--ink)}
.fuel-judge.warn{border-style:solid; border-color:#E3B341; background:var(--warn-bg); color:var(--ink)}
.fuel-judge.bad{border-style:solid; border-color:var(--danger); background:var(--danger-bg); color:var(--ink)}
.fuel-judge b{color:var(--brand)}
.fuel-judge.bad b{color:var(--danger)}
.fuel-rev-row{display:flex; align-items:center; gap:12px; flex-wrap:wrap;
  border-bottom:1px dashed var(--line); padding:10px 2px; font-size:12.5px}
.fuel-rev-row:last-child{border-bottom:none}
.fuel-rev-row > b{min-width:86px}
.fuel-rev-row > em{font-style:normal; font-weight:800; color:var(--warn); background:var(--warn-bg);
  border-radius:999px; padding:3px 12px; font-size:11.5px}
.fuel-rev-acts{margin-inline-start:auto; display:flex; gap:6px}
.fuel-fill-row{display:grid; grid-template-columns:auto 1fr auto auto; gap:4px 12px; align-items:center;
  border-bottom:1px dashed var(--line); padding:9px 0; font-size:12px}
.fuel-fill-row > em{font-style:normal; font-weight:800; color:var(--brand)}
.fuel-fill-row.flagged{background:var(--warn-bg)66; border-radius:10px; padding-inline:8px}
.fuel-flag{grid-column:1/-1; font-size:11px; font-weight:700; color:var(--warn)}
.fuel-flag.done{color:var(--muted)}
.toggle-like{display:flex; flex-wrap:wrap; align-items:center; gap:2px 10px; background:var(--chip); border-radius:12px; padding:10px 14px; margin-bottom:10px}
.toggle-like label{display:flex; align-items:center; gap:8px; font-size:12.5px; font-weight:700; cursor:pointer; margin:0; white-space:nowrap}
.toggle-like .muted{flex-basis:100%; margin-inline-start:24px !important}

/* بطاقات الوقود القصصية */
.fuel-cards{display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:12px; padding:14px 16px}
.fuel-card{border:1px solid var(--line); border-radius:14px; padding:14px 16px; cursor:pointer;
  background:var(--card); transition:box-shadow .15s, transform .15s}
.fuel-card:hover{box-shadow:0 6px 18px rgba(23,33,29,.08); transform:translateY(-1px)}
.fuel-card.warn{border-color:#E3B341; background:linear-gradient(180deg,var(--warn-bg)44,transparent)}
.fc-top{display:flex; align-items:center; gap:10px; margin-bottom:10px}
.fc-top b{font-size:14.5px}
.fc-cost{font-size:12px; color:var(--muted); margin-bottom:8px}
.fc-cost b{color:var(--ink); font-size:15px}
.fc-state{font-size:12px; font-weight:700; color:var(--brand); line-height:1.7}
.fuel-card.warn .fc-state{color:var(--warn)}
.fc-flag{margin-top:8px; font-size:11px; font-weight:800; color:var(--warn); background:var(--warn-bg);
  border-radius:999px; padding:4px 12px; display:inline-block}

/* صور توثيق الصيانة */
.mnt-photos{display:grid; grid-template-columns:repeat(auto-fill,minmax(110px,1fr)); gap:8px}
.mnt-photos img{width:100%; height:90px; object-fit:cover; border-radius:10px; border:1px solid var(--line)}

/* مصاريف المشروع على حساب العميل */
.pf-exp-row{display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  border-bottom:1px dashed var(--line); padding:8px 0; font-size:12.5px}
.pf-exp-row:last-of-type{border-bottom:none}
.pf-exp-row > em{font-style:normal; font-weight:800; color:var(--ink); margin-inline-start:auto}
.pf-exp-total{margin-top:8px; padding-top:8px; border-top:1.5px solid var(--line);
  font-size:12.5px; font-weight:700; color:var(--brand)}

/* ===== المحاسبة بأسلوب أودو (معاينة) — البنية بنية أودو والهوية هويتنا ===== */
.od-topbar{display:flex; align-items:center; gap:2px; background:var(--brand); border-radius:14px;
  padding:6px 10px; margin-bottom:14px; flex-wrap:wrap}
.od-topbar .od-app{color:#fff; font-weight:800; font-size:13.5px; padding:6px 12px;
  display:flex; align-items:center; gap:7px}
.od-menu{position:relative}
.od-menu > button{background:transparent; border:0; color:#DCE9E2; font-weight:700;
  font-size:12.5px; padding:7px 13px; border-radius:9px; cursor:pointer; font-family:inherit}
.od-menu > button:hover, .od-menu > button.active{background:#ffffff22; color:#fff}
.od-dd{position:absolute; top:calc(100% + 6px); inset-inline-start:0; background:var(--card);
  border:1px solid var(--line); border-radius:12px; box-shadow:0 10px 30px rgba(23,33,29,.14);
  min-width:210px; padding:6px; z-index:60; display:none}
.od-menu.open .od-dd{display:block}
.od-dd button{display:block; width:100%; text-align:start; background:transparent; border:0;
  padding:9px 12px; border-radius:8px; font-size:12.5px; font-weight:700; cursor:pointer;
  color:var(--ink); font-family:inherit}
.od-dd button:hover{background:var(--chip)}
.od-dd .od-dd-sec{font-size:10px; font-weight:800; color:var(--muted); padding:8px 12px 2px;
  text-transform:uppercase}
.od-cards{display:grid; grid-template-columns:repeat(auto-fill,minmax(290px,1fr)); gap:14px}
.od-card{background:var(--card); border:1px solid var(--line); border-radius:16px; padding:0;
  overflow:hidden; display:flex; flex-direction:column; min-height:150px}
.od-card-head{display:flex; align-items:center; gap:8px; padding:12px 16px 8px}
.od-card-head b{font-size:13.5px}
.od-card-head .od-new{margin-inline-start:auto}
.od-card-body{padding:2px 16px 12px; flex:1; display:flex; gap:10px}
.od-card-nums{flex:1}
.od-num-row{display:flex; justify-content:space-between; align-items:baseline;
  font-size:12px; padding:3px 0; color:var(--muted); font-weight:700; cursor:pointer;
  border-radius:6px}
.od-num-row:hover{color:var(--ink)}
.od-num-row b{font-size:13px; color:var(--ink)}
.od-num-row.warn b{color:var(--warn)}
.od-card-graph{display:flex; align-items:flex-end}
.od-balance{font-size:19px; font-weight:800; color:var(--brand); padding:2px 0 4px}
.od-card-foot{border-top:1px dashed var(--line); padding:8px 16px; font-size:11px;
  color:var(--muted); font-weight:700}
.od-status{display:inline-block; border-radius:999px; padding:3px 12px; font-size:11px; font-weight:800}
.od-status.paid{background:var(--ok-bg); color:var(--brand)}
.od-status.open{background:#E8EEF7; color:#3D5A80}
.od-status.partial{background:var(--warn-bg); color:var(--warn)}
.od-status.overdue{background:var(--danger-bg); color:var(--danger)}
.od-status.draft{background:var(--chip); color:var(--muted)}
.od-filters{display:flex; gap:6px; flex-wrap:wrap; padding:10px 14px; border-bottom:1px solid var(--line)}
.od-filter{background:var(--chip); border:1px solid transparent; border-radius:999px;
  padding:5px 14px; font-size:11.5px; font-weight:800; cursor:pointer; color:var(--muted);
  font-family:inherit}
.od-filter.active{background:var(--ok-bg); color:var(--brand); border-color:var(--mint-strong)}
.od-crumb{font-size:12px; color:var(--muted); font-weight:700; margin-bottom:10px}
.od-crumb a{color:var(--brand); cursor:pointer; text-decoration:none}
.od-preview-tag{background:var(--warn-bg); color:var(--warn); border-radius:999px; padding:4px 14px;
  font-size:11px; font-weight:800}

/* صف تعارض في شاشة التخطيط */
.ops-conf-row td{background:var(--danger-bg) !important; color:var(--danger); font-size:11.5px; font-weight:800;
  border-inline-start:3px solid var(--danger); padding-top:6px !important; padding-bottom:6px !important}

/* شعار مجموعة السواط — الأفقي في الشريط، العمودي في الدخول */
.brand-chip{width:46px; height:46px; border-radius:13px; background:#fff; display:flex;
  align-items:center; justify-content:center; flex-shrink:0; padding:6px;
  box-shadow:0 4px 14px rgba(0,0,0,.18)}
.brand-chip img{width:100%; height:100%; object-fit:contain}
.brand-txt b{display:block; font-size:15px; color:#fff; font-weight:800; letter-spacing:.2px}
.brand-txt span{display:block; font-size:10.5px; color:var(--side-ink); font-weight:700; margin-top:1px}
.brand-logo-v{width:110px; height:auto; display:block; margin:0 auto 10px}
.brand-name{font-size:21px; font-weight:800; color:#085EA6; margin:0}
.brand-sub{font-size:13px; font-weight:700; color:var(--muted); margin:4px 0 2px}
.pub-brand{display:flex; align-items:center; justify-content:center; gap:12px; margin:0 0 18px}
.pub-brand img{width:52px; height:auto}
.pub-brand div b{display:block; font-size:16px; font-weight:800; color:#085EA6}
.pub-brand div span{display:block; font-size:11px; color:var(--muted); font-weight:700}

/* سجل التتبع */
.aud-list{padding:4px 16px 8px}
.aud-row{display:flex; align-items:center; gap:12px; padding:9px 2px;
  border-bottom:1px dashed var(--line); font-size:12.5px}
.aud-row:last-child{border-bottom:none}
.aud-badge{border-radius:999px; padding:3px 12px; font-size:10.5px; font-weight:800; flex-shrink:0}
.aud-txt{flex:1; line-height:1.8}
.aud-time{color:var(--muted); font-size:11px; font-weight:700; white-space:nowrap}

/* شبكة الصلاحيات الفرعية */
.perm-grid{max-height:52vh; overflow:auto; padding-inline-end:4px}
.perm-row{display:flex; align-items:center; gap:12px; padding:9px 2px;
  border-bottom:1px dashed var(--line); flex-wrap:wrap}
.perm-lbl{flex:1; min-width:150px}
.perm-lbl b{font-size:12.8px; display:block}
.perm-lbl .muted{font-size:10.5px; font-weight:700}
.perm-sts{display:flex; gap:4px; background:var(--chip); border-radius:999px; padding:3px}
.perm-st{border:0; background:transparent; border-radius:999px; padding:5px 12px;
  font-size:11px; font-weight:800; cursor:pointer; color:var(--muted); font-family:inherit}
.perm-st.active{background:#fff; box-shadow:0 1px 4px rgba(23,33,29,.15); color:var(--ink)}
.perm-st.active.open{color:var(--brand)}
.perm-st.active.read{color:var(--warn)}
.perm-st.active.closed{color:var(--danger)}

/* صف جاهزية الوثائق في المخطط — تنبيه كهرماني لا منع */
.ops-ready-row td{background:var(--warn-bg) !important; color:var(--warn); font-size:11.5px; font-weight:700;
  border-inline-start:3px solid #E3B341; padding-top:5px !important; padding-bottom:5px !important}

/* وثيقة النقل — حقول جاهزة للنسخ */
.wb-box{background:var(--chip); border-radius:12px; padding:8px 14px; max-height:46vh; overflow:auto}
.wb-line{display:flex; justify-content:space-between; gap:12px; padding:5px 0; border-bottom:1px dashed var(--line); font-size:12.5px}
.wb-line:last-child{border-bottom:none}
.wb-line span{color:var(--muted); font-weight:700}
.wb-line b{font-weight:800; text-align:end}
.wb-missing{color:var(--danger) !important}

/* مصاريف العميل في معالج الفاتورة */
.iw-exp-row{display:flex; align-items:center; gap:8px; padding:7px 4px; border-bottom:1px dashed var(--line); font-size:12.5px; cursor:pointer}
.iw-exp-row .iw-exp-amt{margin-inline-start:auto; font-weight:800}

/* بطاقة العدد المختصرة على الرئيسية */
.alert-tile{display:flex; align-items:center; gap:16px; background:var(--card); border:1px solid var(--line);
  border-radius:16px; padding:14px 20px; margin-bottom:14px; cursor:pointer; transition:transform .12s, box-shadow .15s}
.alert-tile:hover{transform:translateY(-1px); box-shadow:0 6px 18px rgba(23,33,29,.08)}
.alert-tile > b{font-size:34px; font-weight:800; color:var(--warn); min-width:56px; text-align:center; line-height:1}
.alert-tile.crit > b{color:var(--danger)}
.alert-tile.ok > b{color:var(--ok); font-size:26px}
.alert-tile-t{display:block; font-size:14.5px; font-weight:800}
.alert-tile-s{display:block; font-size:12px; color:var(--muted); font-weight:700; margin-top:2px}
.alert-tile i{font-style:normal; font-weight:800}
.al-c{color:var(--danger)} .al-h{color:var(--warn)} .al-i{color:var(--muted)}

/* سلة الفوترة */
.bk-card h3{display:flex; align-items:center; gap:8px; flex-wrap:wrap}
.bk-row{display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:7px 2px; border-bottom:1px dashed var(--line); font-size:12.5px}
.bk-row > em{font-style:normal; font-weight:800; margin-inline-start:auto}
.bk-miss{color:var(--danger); font-weight:700; font-size:11.5px}
.bk-ok{color:var(--ok); font-weight:700; font-size:11.5px}
/* مسودة فاتورة مشروع داخل السلة: صندوق مفصول بحدّ مائل يقول «لم تُصدر بعد» */
.bk-draft{border:1.5px dashed var(--brand); border-radius:10px; padding:10px 12px; margin:10px 0;
  background:color-mix(in srgb, var(--brand) 4%, transparent)}
.bk-draft > header{display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:6px}
.bk-draft > header b{font-size:13.5px}
.bk-draft-tag{font-size:10.5px; font-weight:800; color:#fff; background:var(--brand);
  border-radius:999px; padding:2px 9px; letter-spacing:0}
.bk-draft-sum{display:flex; gap:14px; flex-wrap:wrap; align-items:baseline;
  margin-top:8px; padding-top:8px; border-top:1px solid var(--line); font-size:12.5px}
.bk-draft-sum span{color:var(--muted); font-weight:700}
.bk-draft-sum b{font-weight:800}
.bk-draft-empty{font-size:12px; color:var(--muted); padding:6px 2px}
.bk-draft-paid{color:var(--ok); font-weight:800}
.bk-draft.cancelled{border-color:var(--danger); background:color-mix(in srgb, var(--danger) 4%, transparent)}
.bk-draft-tag.danger{background:var(--danger)}
.bk-draft-cancel{font-size:12px; font-weight:700; color:var(--danger); padding:6px 2px}

/* السجل الكامل: قائمة أيام هادئة — اليوم سطر واحد يُفتح فيكشف جدول رحلاته */
.daylog-head{display:flex; align-items:center; gap:8px; padding:0 2px 10px;
  color:var(--muted); font-size:11.5px; font-weight:700}
.daylog-head > span{margin-inline-end:auto}
.daylog{border:1px solid var(--line); border-radius:12px; overflow:hidden; background:var(--card)}
.day-block + .day-block{border-top:1px solid var(--line)}
.day-bar{display:flex; align-items:center; gap:12px; width:100%; box-sizing:border-box;
  padding:13px 16px; background:none; border:0; cursor:pointer; text-align:start;
  font:inherit; color:inherit; transition:background .15s}
.day-bar:hover{background:color-mix(in srgb, var(--brand) 5%, transparent)}
.day-bar:focus-visible{outline:2px solid var(--brand); outline-offset:-2px}
.day-caret{flex:none; width:14px; color:var(--brand); font-size:15px; font-weight:900;
  line-height:1; transform:rotate(180deg); transition:transform .18s ease}
.day-block.open .day-caret{transform:rotate(90deg)}
.day-date{font-size:13.5px; font-weight:800; color:var(--ink); letter-spacing:0}
.day-count{font-size:11.5px; font-weight:700; color:var(--muted); white-space:nowrap}
.day-count::before{content:"·"; margin-inline-end:8px; color:var(--line)}
.day-flag{font-size:11px; font-weight:700; color:var(--muted); white-space:nowrap;
  display:inline-flex; align-items:center; gap:5px}
.day-flag::before{content:""; width:6px; height:6px; border-radius:50%;
  background:currentColor; opacity:.8}
.day-flag.ok{color:var(--ok)}
.day-flag.warn{color:var(--warn)}
.day-money{margin-inline-start:auto; display:flex; align-items:baseline; gap:6px;
  white-space:nowrap; font-variant-numeric:tabular-nums}
.day-money > b{font-size:14.5px; font-weight:800; color:var(--ink)}
.day-money > i{font-style:normal; font-size:10.5px; font-weight:700; color:var(--muted)}
.day-money > em{font-style:normal; font-size:11px; font-weight:700; color:var(--muted);
  margin-inline-start:6px}
.day-block.open{background:color-mix(in srgb, var(--brand) 3%, transparent)}
.day-block.open .day-bar{border-bottom:1px solid var(--line)}
.day-body{padding:0 0 6px}
.day-body table{font-size:12.5px; background:var(--card)}
.day-body th{padding:9px 14px; font-size:10.5px; background:transparent;
  border-bottom:1px solid var(--line)}
.day-body td{padding:9px 14px}
.day-body tbody tr:last-child td{border-bottom:0}
@media (max-width:760px){
  .day-bar{flex-wrap:wrap; gap:8px}
  .day-money{width:100%; margin-inline-start:0}
}

/* ---- سجل المخالفات ---- */
.vl-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px; margin-bottom:var(--gap-section)}
@media (max-width:1500px){.vl-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:980px){.vl-cards{grid-template-columns:1fr}}
.vl-txt{min-width:0}.vl-txt>.muted{display:block;font-size:11.5px;line-height:1.7}
.vl-amt{display:flex;flex-direction:column;align-items:flex-end;gap:3px;text-align:left;direction:ltr;font-variant-numeric:tabular-nums;flex-shrink:0}
.vl-amt>b{font-size:15px}.vl-amt s{font-size:11px}
.vl-card{background:var(--card,#fff);border:1px solid var(--line,var(--line));border-radius:16px;padding:14px 16px}
.vl-card-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px}
.vl-card-h b{font-size:15px}.vl-card-h .muted{font-size:11.5px}
.vl-row{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px dashed var(--line,var(--line));cursor:pointer;font-size:13.5px}
.vl-row:last-child{border-bottom:0}
.vl-save{display:block;font-size:11px;color:var(--brand);font-weight:800}
.vl-days{display:inline-block;font-size:10.5px;font-weight:800;border-radius:999px;padding:1px 8px;margin-top:3px}
.vl-days.danger{background:var(--danger-bg);color:var(--danger)}.vl-days.warn{background:var(--warn-bg);color:var(--warn)}.vl-days.ok{background:var(--ok-bg);color:var(--ok)}.vl-days.none{background:var(--chip);color:var(--muted)}
.vl-chip{display:inline-block;font-size:10.5px;font-weight:800;border-radius:999px;padding:1px 8px;background:var(--chip);color:var(--muted)}
.vl-chip.ok{background:var(--ok-bg);color:var(--ok)}.vl-chip.warn{background:var(--warn-bg);color:var(--warn)}.vl-chip.danger{background:var(--danger-bg);color:var(--danger)}.vl-chip.info{background:#E6F0FA;color:#085EA6}
.vl-blks{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.vl-blk{border:1px solid var(--line,var(--line));background:var(--chip);border-radius:12px;padding:8px 4px;text-align:center;cursor:pointer;font-family:inherit}
.vl-blk b{display:block;font-size:16px;color:var(--brand)}.vl-blk i{display:block;font-style:normal;font-size:11px;color:var(--muted);font-weight:700}.vl-blk span{font-size:10.5px;color:var(--muted)}
.vl-blk.warn{border-color:#E9C46A;background:#FFF8E6}.vl-blk.warn b{color:var(--warn)}
.vl-pt{display:grid;grid-template-columns:1fr 2fr auto;gap:8px;align-items:center;font-size:12.5px;padding:4px 0;cursor:pointer}
.vl-bar{height:8px;background:var(--chip);border-radius:999px;overflow:hidden}.vl-bar i{display:block;height:100%;background:var(--brand)}
.vl-bar i.warn{background:#E9A23B}.vl-bar i.danger{background:var(--danger)}
.vl-drawer{position:fixed;top:0;left:0;height:100vh;width:min(560px,96vw);background:#fff;box-shadow:0 0 30px rgba(0,0,0,.18);transform:translateX(-105%);transition:transform .25s;z-index:60;overflow-y:auto;padding:18px 20px 40px;direction:rtl}
.vl-drawer.on{transform:none}
.vl-dh{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px}.vl-dh>div{flex:1}
.vl-dates{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0}
.vl-date{border-radius:12px;padding:8px 10px;background:var(--chip)}.vl-date i{display:block;font-style:normal;font-size:11px;color:var(--muted);font-weight:700}
.vl-date b{display:block;font-size:13px}.vl-date span{font-size:11px;color:var(--muted)}
.vl-date.danger{background:var(--danger-bg)}.vl-date.danger b{color:var(--danger)}.vl-date.warn{background:var(--warn-bg)}.vl-date.warn b{color:var(--warn)}.vl-date.ok{background:var(--ok-bg)}.vl-date.ok b{color:var(--ok)}
.vl-act{border-top:1px dashed var(--line,var(--line));padding:10px 0;font-size:13px}.vl-act>b{display:block;margin-bottom:6px;font-size:13.5px}
.vl-ev{font-size:12.5px;padding:3px 0}
.vl-warn{background:var(--warn-bg);color:var(--warn);border-radius:10px;padding:8px 10px;font-size:12px;margin-top:8px;font-weight:700}
/* ---- تقويم الامتثال ---- */
.docs-kill{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 10px}
.docs-kill-item{border-radius:999px;padding:5px 12px;font-size:12px;font-weight:800;cursor:pointer}
.docs-kill-item.warn{background:var(--warn-bg);color:var(--warn)}.docs-kill-item.danger{background:var(--danger-bg);color:var(--danger)}
.docs-grid-h{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;font-size:11px;color:var(--muted);font-weight:700;text-align:center;margin-bottom:4px}
.docs-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.docs-day{min-height:64px;border:1px solid var(--line,var(--line));border-radius:10px;padding:4px 6px;background:#fff;cursor:pointer;position:relative}
.docs-day.pad{background:transparent;border-color:transparent;cursor:default}
.docs-day b{font-size:12px}.docs-day small{display:block;font-size:9px;color:var(--muted);line-height:1.2}
.docs-day.today{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.docs-day.has{background:var(--chip)}
.docs-dots{display:flex;gap:3px;align-items:center;margin-top:4px;flex-wrap:wrap}
.docs-dots i.dcell{width:9px;height:9px;border-radius:50%;padding:0;display:inline-block}
.docs-dots em{font-style:normal;font-size:9.5px;color:var(--muted);font-weight:700}

/* ---- الخطة الدورية والإطارات ---- */
.pm-check{display:flex;gap:8px;align-items:center;padding:6px 0;border-bottom:1px dashed var(--line,var(--line));font-size:13px;cursor:pointer}
.pm-check:last-child{border-bottom:0}.pm-check .muted{font-size:11px}
.tire-map-wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.tire-svg{width:100%;max-width:560px;height:auto;display:block;margin:0 auto}
.tire-pos rect{fill:var(--ok-bg);stroke:var(--brand);stroke-width:1.5;cursor:pointer}
.tire-pos text{fill:var(--ink);pointer-events:none}
.tire-pos.warn rect{fill:var(--warn-bg);stroke:var(--warn)}.tire-pos.danger rect{fill:var(--danger-bg);stroke:var(--danger)}.tire-pos.empty rect{fill:#fff;stroke:#C9D2CE;stroke-dasharray:4 3}
.tire-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:11.5px;color:var(--muted);align-items:center}
.tire-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-inline-end:4px;vertical-align:middle;border:1px solid #C9D2CE}
.tire-legend i.ok{background:var(--ok-bg);border-color:var(--ok)}.tire-legend i.warn{background:var(--warn-bg);border-color:var(--warn)}.tire-legend i.danger{background:var(--danger-bg);border-color:var(--danger)}.tire-legend i.empty{background:#fff}

.notif-actions{display:flex;gap:6px;margin-top:6px}

/* فحوص السلامة في نموذج الرحلة */
.t-checks{margin:4px 0 10px}
.chk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
@media (max-width:760px){.chk-grid{grid-template-columns:1fr}}
.chk-card{border:1px solid var(--line,var(--line));border-radius:12px;padding:8px 10px;font-size:12px;background:#fff;border-inline-start:4px solid #B9C4BE}
.chk-card.chk-ok{border-inline-start-color:var(--ok)}.chk-card.chk-info{border-inline-start-color:#085EA6}.chk-card.chk-amber{border-inline-start-color:#C98A12;background:var(--warn-bg)}.chk-card.chk-red{border-inline-start-color:var(--danger);background:var(--danger-bg)}
.chk-head{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-bottom:4px}
.chk-text{line-height:1.6}.chk-act{margin-top:4px;font-weight:700;color:var(--brand)}
.badge.info{background:#E3EEF8;color:#085EA6}.badge.muted{background:#EEF1EF;color:var(--muted)}
/* الرحلات الدولية */
.intl-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px}
.intl-item{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;padding:6px 0;border-bottom:1px dashed var(--line);font-size:12.5px}
.intl-item.intl-pend{background:var(--warn-bg);border-radius:8px;padding:6px 8px}
.intl-item{flex-wrap:wrap}
.intl-acts{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end;flex:0 1 auto;max-width:100%}
.intl-acts select.sm{width:auto;min-width:0;font-size:12px;padding:3px 6px}
.intl-acts .btn.sm{white-space:nowrap}
/* سجل ملكية الشاحنة */
.vown-row{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:7px 10px;border:1px solid var(--line);border-radius:12px;margin-bottom:6px;background:#fff;font-size:12.5px}
.vown-row.on{border-inline-start:4px solid var(--brand);background:var(--brand-soft)}
/* سؤال البداية: مشروع أم رحلة */
.new-opts{display:grid;gap:8px;margin:10px 0}
.new-opt{display:flex;align-items:flex-start;gap:12px;text-align:start;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;cursor:pointer;font-family:inherit;width:100%}
.new-opt:hover{border-color:var(--brand);background:var(--brand-soft)}
.new-opt svg{flex:none;margin-top:2px;color:var(--brand)}
.new-opt b{display:block;font-size:14px}
.new-opt i{display:block;font-style:normal;font-size:12px;color:var(--muted);font-weight:600;line-height:1.6}

/* ===== المساعد الذكي: زر عائم + لوحة دردشة ===== */
.as-fab{position:fixed;inset-inline-end:22px;bottom:22px;z-index:1999;width:56px;height:56px;border-radius:50%;border:0;background:var(--brand);color:#fff;
  box-shadow:0 12px 28px -10px rgba(8,94,166,.65),0 2px 6px rgba(0,0,0,.12);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s,background .15s}
.as-fab:hover{transform:translateY(-2px);background:var(--brand-dark)}
.as-fab svg{width:26px;height:26px}
/* display:flex في .as-panel كان يغلب سمة hidden فلا تُطوى اللوحة — القاعدة التالية تحسمها */
.as-panel[hidden],.as-off[hidden]{display:none!important}
.as-panel{position:fixed;inset-inline-end:22px;bottom:90px;z-index:2000;width:400px;max-width:calc(100vw - 32px);height:min(640px,calc(100vh - 120px));
  background:var(--card);border-radius:22px;box-shadow:var(--shadow-modal);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line)}
.as-head{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);background:var(--card-grad)}
.as-head b{font-size:14px}.as-head .muted{font-size:11.5px;display:block}
.as-head .icon-sq svg{width:18px;height:18px}
.as-head .spacer{flex:1}
.as-ib{border:0;background:transparent;color:var(--muted);cursor:pointer;padding:6px 8px;border-radius:8px;font-size:16px;line-height:1}
.as-ib:hover{background:var(--chip);color:var(--ink)}
.as-off{padding:9px 14px;font-size:12.5px;background:var(--warn-bg);color:var(--warn);border-bottom:1px solid var(--line)}
.as-off a{color:var(--brand);font-weight:700}
.as-body{flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:10px;background:var(--ground)}
.as-msg{max-width:88%;padding:9px 12px;border-radius:16px;font-size:13px;line-height:1.7;word-break:break-word}
.as-msg.user{align-self:flex-end;background:var(--brand);color:#fff;border-bottom-left-radius:6px}
.as-msg.bot{align-self:flex-start;background:var(--card);border:1px solid var(--line);border-bottom-right-radius:6px}
.as-msg p{margin:0 0 3px}.as-msg ul,.as-msg ol{margin:4px 0;padding-inline-start:18px}.as-msg li{margin:2px 0}
.as-msg .as-h{display:block;margin:6px 0 2px}.as-gap{height:5px}
.as-msg a{color:var(--brand);font-weight:700}
.as-tblwrap{overflow-x:auto;margin:6px 0;max-width:100%}
.as-tbl{border-collapse:collapse;font-size:12px;min-width:100%}
.as-tbl th,.as-tbl td{border:1px solid var(--line);padding:4px 7px;white-space:nowrap;text-align:start}
.as-tbl th{background:var(--chip);font-weight:800}
.as-note{align-self:center;max-width:92%;font-size:12.2px;padding:7px 12px;border-radius:12px;background:var(--chip);color:var(--muted);line-height:1.6}
.as-note.ok{background:var(--ok-bg);color:var(--ok)}.as-note.err{background:var(--danger-bg);color:var(--danger)}
.as-note a{color:inherit;text-decoration:underline}
.as-undo{display:flex;align-items:center;gap:8px;margin-top:6px;justify-content:center}
.as-undo .btn.sm{padding:4px 10px;font-size:11.5px;background:var(--card)}
.as-undo .muted{font-size:11px}
.as-acts{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px}
.as-confirm{width:100%;background:var(--warn-bg);border:1px solid #E8D8A8;border-radius:12px;padding:8px 10px;font-size:12.5px}
.as-confirm b{display:block;margin-bottom:6px;color:var(--ink)}
.as-confirm .btn{margin-inline-end:6px}
.as-empty{margin:auto 0;text-align:center;color:var(--muted);font-size:13px;line-height:1.7;padding:10px}
.as-empty b{display:block;color:var(--ink);font-size:15px;margin-bottom:4px}
.as-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:12px}
.as-chip{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:6px 11px;font-size:12px;cursor:pointer;color:var(--ink);font-family:inherit}
.as-chip:hover{border-color:var(--brand);color:var(--brand)}
.as-typing{color:var(--muted);font-size:12.5px}
.as-typing span{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--muted);margin-inline-end:3px;animation:asb 1s infinite}
.as-typing span:nth-child(2){animation-delay:.15s}.as-typing span:nth-child(3){animation-delay:.3s}
@keyframes asb{0%,80%,100%{opacity:.25}40%{opacity:1}}
.as-in{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--line);background:var(--card);align-items:flex-end}
.as-in textarea{flex:1;resize:none;max-height:120px;padding:9px 12px;font-size:13px;line-height:1.5;border-radius:14px}
.as-in .btn{white-space:nowrap}
.as-msg.user{position:relative;padding-inline-end:28px}
.as-pin{position:absolute;top:5px;inset-inline-end:7px;border:0;background:transparent;color:rgba(255,255,255,.7);cursor:pointer;font-size:14px;padding:0;line-height:1}
.as-pin:hover{color:#fff;transform:scale(1.15)}
.as-pins{display:flex;gap:6px;align-items:center;overflow-x:auto;padding:6px 12px 4px;background:var(--card);border-top:1px solid var(--line);scrollbar-width:thin}
.as-pins .as-chip{white-space:nowrap;flex:none}
.as-pins-h{color:var(--gold-deep);font-size:13px;flex:none}
.as-pins-mg{flex:none;font-size:14px;padding:2px 6px}
.as-pins-title{font-size:11.5px;color:var(--gold-deep);font-weight:700;margin-top:12px}
.as-chips .as-pins-h,.as-chips .as-pins-mg{display:inline-flex;align-items:center}
.as-mg{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px 14px;font-size:13px}
.as-mg b{display:block;margin-bottom:2px}.as-mg>.muted{display:block;font-size:11.5px;margin-bottom:8px}
.as-mg-row{display:flex;align-items:center;gap:2px;padding:6px 0;border-bottom:1px dashed var(--line)}
.as-mg-row span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.as-mg-row .as-ib{font-size:12px;padding:2px 6px}
.as-mg-add{display:flex;gap:6px;margin-top:10px}.as-mg-add input{flex:1;min-width:0;padding:8px 10px;font-size:12.5px}
.as-ask svg{width:14px;height:14px;vertical-align:-2px;margin-inline-end:5px}
.as-focus{display:flex;align-items:center;gap:6px;padding:8px 12px 0;font-size:12px;color:var(--muted);background:var(--card);border-top:1px solid var(--line)}
.as-focus b{color:var(--brand);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}
.as-focus .as-ib{margin-inline-start:auto;font-size:13px;padding:2px 6px}
.as-qchips{display:flex;flex-wrap:wrap;gap:6px;padding:6px 12px 2px;background:var(--card)}
@media (max-width:640px){.as-panel{left:8px;right:8px;width:auto;bottom:80px;height:calc(100vh - 100px)}.as-fab{inset-inline-end:14px;bottom:14px}}
@media print{.as-fab,.as-panel{display:none!important}}

/* ===== البحث السريع (Ctrl+K) ===== */
.qs-back{position:fixed;inset:0;z-index:1800;background:rgba(29,34,38,.42);display:flex;align-items:flex-start;justify-content:center;padding:9vh 16px 16px;backdrop-filter:blur(2px)}
.qs-box{width:640px;max-width:100%;background:var(--card);border-radius:20px;box-shadow:var(--shadow-modal);overflow:hidden;display:flex;flex-direction:column;max-height:76vh}
.qs-in{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line)}
.qs-in input{flex:1;border:0;outline:0;font-size:16px;padding:6px 0;background:transparent;box-shadow:none}
.qs-in input:focus{outline:0;border:0}
.qs-lens{color:var(--brand);display:flex}.qs-lens svg{width:20px;height:20px}
.qs-in kbd{font-family:inherit;font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:2px 7px;cursor:pointer;background:var(--chip)}
.qs-res{overflow:auto;padding:6px 8px 8px;flex:1}
.qs-g{padding:4px 0}
.qs-gh{font-size:11px;font-weight:800;color:var(--muted);padding:6px 10px 2px;letter-spacing:0}
.qs-it{display:flex;align-items:center;gap:10px;width:100%;text-align:start;border:0;background:transparent;padding:8px 10px;border-radius:12px;cursor:pointer;font-family:inherit;color:var(--ink);font-size:13.5px}
.qs-it b{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qs-it .muted{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}
.qs-it.sel,.qs-it:hover{background:var(--brand-tint)}
.qs-it.sel b{color:var(--brand)}
.qs-ico{width:26px;height:26px;border-radius:8px;background:var(--chip);display:inline-flex;align-items:center;justify-content:center;color:var(--steel);flex:none}
.qs-empty{padding:18px 12px;color:var(--muted);font-size:13px;text-align:center;line-height:1.7}
.qs-foot{display:flex;gap:16px;justify-content:center;padding:7px 12px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);background:var(--ground)}
@media (max-width:640px){.qs-back{padding:8px}.qs-box{max-height:88vh}.qs-foot{display:none}}

/* إجراءات التسوية تبقى مجمعة ولا تمدد صف المالك أفقياً. */
.settlement-actions{display:grid;grid-template-columns:repeat(2,minmax(110px,1fr));gap:6px;min-width:230px;align-items:center}

/* Document matrix: retain full-result totals while rendering one page. */
.docs-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 0;color:var(--muted);font-size:13px}
.docs-page-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.docs-page-controls select{width:auto;min-width:64px;margin:0;padding:6px 10px}
.docs-page-controls label{margin:0;font-weight:600}

.as-wait-time{font-size:12px;color:var(--muted);margin-top:8px;font-variant-numeric:tabular-nums}
.as-wait-note{font-size:12px;color:var(--muted);margin-top:5px;line-height:1.7}
@media(prefers-reduced-motion:reduce){.as-typing span{animation:none}}

/* Project file tabs: distinct stages, scoped away from finance/status badges. */
.prjf-tone-pricing{--prjf-tab-bg:#8A5908}
.prjf-tone-approval{--prjf-tab-bg:#7550A0}
.prjf-tone-planning{--prjf-tab-bg:#526A87}
.prjf-tone-planned{--prjf-tab-bg:#087A80}
.prjf-tone-active{--prjf-tab-bg:#085EA6}
.prjf-tone-collection{--prjf-tab-bg:#A32978}
.prjf-tone-completed{--prjf-tab-bg:#267044}
.prjf-tone-cancelled,.prjf-tone-unknown{--prjf-tab-bg:#68717B}
.prjf-legend{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;padding:12px 16px;margin-bottom:var(--gap-section);border:1px solid var(--line);border-radius:10px;background:var(--card);font-size:11px;color:var(--muted)}
.prjf-legend>b{color:var(--ink);font-size:12px}
.prjf-legend>span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.prjf-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--prjf-tab-bg);flex:none}

.prjf-archive{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:14px 18px;margin:var(--gap-section) 0}
.prjf-archive>summary{cursor:pointer;font-size:14px;color:var(--ink)}
.prjf-archive>summary .count-badge2{margin-inline:10px}
.prjf-archive>summary .muted{font-size:11px;font-weight:400}
.prjf-archive[open]>summary{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.prjf-finished-date{padding:8px 12px 0;color:var(--muted);font-size:11px}
.prjf-filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;padding:8px 0 14px;border-bottom:1px solid var(--line)}
.prjf-filters label{display:flex;flex:1 1 155px;flex-direction:column;gap:6px;min-width:0;font-size:11px;color:var(--muted);font-weight:700}
.prjf-filters label:first-child{flex:2 1 220px}
.prjf-filters input,.prjf-filters select{width:100%;min-height:38px}
.prjf-result-count{font-size:11px;color:var(--muted);padding:12px 0 0}
/* Owners: one owner, one month, visible distinction between earnings and cash. */
.ow-toolbar{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap;margin-bottom:var(--gap-section)}
.ow-toolbar .task-tab-bar{margin:0;flex:1 1 290px}.ow-toolbar label{display:flex;flex-direction:column;gap:5px;font-size:11px;color:var(--muted);min-width:165px}.ow-toolbar select{min-height:38px}
.ow-directory{padding:13px 18px;border:1px solid var(--line);border-radius:12px;background:var(--card);margin-bottom:var(--gap-section)}.ow-directory summary{cursor:pointer;font-size:12px;font-weight:700}.ow-owner-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:14px}.ow-owner-card{text-align:right;background:var(--ground);border:1px solid var(--line);border-radius:10px;padding:15px;display:flex;flex-direction:column;gap:8px;cursor:pointer;color:var(--ink);font:inherit}.ow-owner-card span{font-size:11px;color:var(--muted)}.ow-owner-card strong{font-size:20px;color:var(--brand)}.ow-owner-card small{font-size:10px;font-weight:400}.ow-owner-card.selected{border-color:var(--brand);background:#edf5fc}
.ow-hero{background:linear-gradient(115deg,#17394d,#0b527f);color:#fff;border-radius:16px;padding:26px 30px;display:flex;justify-content:space-between;gap:25px;margin-bottom:var(--gap-section)}.ow-eyebrow{color:#c3dceb;font-size:13px}.ow-hero h2{font-size:20px;margin:8px 0}.ow-hero-number{font-size:40px;font-weight:700}.ow-hero-number small{font-size:13px;font-weight:400}.ow-hero p{font-size:11px;color:#d2e4ef;margin:10px 0 0;max-width:620px;line-height:1.8}.ow-hero-aside{display:flex;flex-direction:column;justify-content:center;gap:12px;font-size:12px;min-width:160px;border-right:1px solid #ffffff33;padding-right:22px}.ow-hero-aside span{color:#d2e4ef}
.ow-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--gap-section)}.ow-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:var(--gap-section)}.ow-stat{border:1px solid var(--line);border-radius:12px;background:var(--card);text-align:right;padding:18px;color:var(--ink);font:inherit;cursor:pointer;display:flex;flex-direction:column;gap:8px}.ow-stat span{font-size:12px;color:var(--muted)}.ow-stat b{font-size:26px}.ow-stat small{font-size:10px;color:var(--muted)}.ow-stat.accent{border-top:3px solid var(--brand)}.ow-section{scroll-margin-top:20px}.ow-section td{font-size:12px}.ow-warning{padding:12px 16px;background:var(--warn-bg);color:var(--warn);border-radius:10px;margin-bottom:14px;font-size:12px;line-height:1.7}.ow-ledger-summary{display:flex;flex-wrap:wrap;gap:18px;padding:12px 0;font-size:12px;color:var(--muted)}.ow-ledger-summary b{color:var(--ink);margin-inline-start:6px}@media(max-width:700px){.ow-hero{flex-direction:column;padding:20px}.ow-hero-aside{border:0;border-top:1px solid #ffffff33;padding:15px 0 0}.ow-hero-number{font-size:32px}.ow-toolbar label{flex:1}}

.ow-section h3{display:block}.ow-section h3>.muted{display:block;margin-top:6px;line-height:1.7;font-size:11px;font-weight:400}.ow-section .field-hint{color:var(--muted)}

/* مجموعات الرؤوس والمقطورات */
.fleet-section{margin-block:18px}.fleet-section h2{font-size:18px;display:flex;align-items:center;gap:10px;margin-bottom:14px}.fleet-section>.btn{margin-top:14px}
.fleet-link{display:grid;gap:9px;margin:0 14px 14px;padding:14px;background:#EDF4FA;border:1px solid #D8E6F0;border-radius:12px}.fleet-link small{color:var(--muted)}.fleet-link>b{display:flex;gap:6px;flex-wrap:wrap}.trailer-art{object-fit:contain;width:100%;height:160px}
/* مسيرات الرواتب: الشهر ثم الفئة ثم المستفيد */
.pw-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}.pw-heading h2{font-size:20px;margin:0 0 8px}.pw-heading .field{min-width:190px;margin:0}.pw-heading input{max-width:250px}.pw-months{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.pw-card{display:flex;flex-direction:column;gap:18px;text-align:start;padding:24px;border:1px solid var(--line);border-radius:20px;background:white;color:var(--ink);font:inherit;cursor:pointer;box-shadow:0 4px 16px #172B4010}.pw-card:hover{border-color:var(--brand);box-shadow:0 6px 20px #085EA618}.pw-card strong{font-size:27px}.pw-card strong small{font-size:13px;font-weight:400}.pw-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.pw-card-top>b{display:flex;align-items:center;gap:10px}.pw-chips{display:flex;gap:8px;flex-wrap:wrap}.pw-categories{display:grid;grid-template-columns:1fr 1fr;gap:20px}.pw-total{display:grid;gap:8px}.pw-total strong{font-size:25px}.pw-nav{display:flex;align-items:center;gap:10px;margin-bottom:16px}.pw-open{color:var(--brand);font-weight:700}.pw-bar{height:6px;background:var(--ground);border-radius:9px;overflow:hidden}.pw-bar i{display:block;background:var(--brand);height:100%}.pw-steps{display:flex;gap:10px;margin:16px 0}.pw-steps span{flex:1;padding:12px;background:var(--ground);border-radius:10px;color:var(--muted)}.pw-steps .active{background:#E2EEF8;color:var(--brand);font-weight:700}.pw-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.pw-totals .chart-card{display:grid;gap:8px}.pw-totals b{font-size:24px}.pw-person{margin-top:8px;min-width:190px}.pw-person summary{color:var(--brand);cursor:pointer;font-size:12px}.pw-person>div{padding:12px;background:var(--ground);border-radius:10px;margin-top:10px;max-width:300px}.pw-person .field{margin-bottom:10px}.pw-table td{vertical-align:top}.pw-table .pr-net{font-weight:800}.pw-table tr[hidden]{display:none}@media(max-width:760px){.pw-categories{grid-template-columns:1fr}.pw-totals{gap:8px}.pw-totals b{font-size:18px}.pw-steps{gap:5px}.pw-steps span{padding:9px;font-size:12px}}

.em-cost{padding:14px 0;border-bottom:1px solid var(--line)}.em-cost summary{cursor:pointer;font-weight:700;margin-bottom:10px}

#modal:has(#em-month),#modal:has(#em-truck){max-width:960px;width:calc(100vw - 40px)}#modal:has(#em-month) .field-hint,#modal:has(#em-truck) .field-hint{color:var(--muted)}

/* Report workspace: calm catalog, scoped filters and shared print results. */
.rc-hero{align-items:center;justify-content:space-between}.rc-hero p,.rc-result-caption{color:var(--muted)}.rc-eyebrow{color:var(--brand);font-size:12px;font-weight:700}.rc-tools{display:flex;gap:16px;align-items:center;margin-bottom:14px}.rc-tools input{max-width:480px}.rc-groups{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.rc-category{margin:26px 0}.rc-category h2{font-size:17px;margin:0 0 14px}.rc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.rc-card{font-family:inherit;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;text-align:right;cursor:pointer;display:grid;gap:10px;color:var(--ink);transition:box-shadow .15s,transform .15s}.rc-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #18374f12;border-color:var(--brand)}.rc-card strong{font-size:16px}.rc-card>span:not(.rc-card-mark){color:var(--muted);font-size:12px;line-height:1.7}.rc-card small{color:var(--brand);font-size:11px}.rc-card-mark{width:36px;height:36px;border-radius:10px;background:#EAF1F7;color:var(--brand);display:grid;place-items:center}.rc-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.rc-filters .field{margin:0}.rc-filters .field-hint{color:var(--muted)}.rc-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:16px;margin-top:18px}.rc-actions>span{font-size:12px;color:var(--muted)}.rc-trucks details{border:1px solid var(--line);border-radius:12px;padding:10px}.rc-trucks summary{cursor:pointer}.rc-truck-list{max-height:220px;overflow:auto;margin:10px 0}.rc-truck-list label{display:flex;gap:8px;align-items:center;padding:7px;margin:0;cursor:pointer}.rc-truck-list label[hidden]{display:none}.rc-result-caption{font-size:12px;margin:16px 0;line-height:1.8}.rc-result-caption span{display:block}.rc-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:14px;margin-bottom:14px}.rc-metrics button{font-family:inherit;border:1px solid var(--line);border-radius:14px;background:#fff;padding:18px;cursor:pointer;text-align:right}.rc-metrics strong{display:block;font-size:25px;color:var(--brand)}.rc-metrics span{font-size:12px;color:var(--muted)}.rc-notes{border:1px solid var(--line);border-radius:14px;padding:14px 18px;margin-bottom:14px;background:#F8FAFC}.rc-notes summary{font-weight:700;cursor:pointer}.rc-notes p{color:var(--muted);font-size:12px;line-height:1.8;margin:7px 0}.rc-section h2{font-size:17px;margin:0 0 14px}.rc-section h2 small{font-size:11px;color:var(--muted);font-weight:400}.rc-section table{min-width:700px}.rc-num{font-variant-numeric:tabular-nums;direction:ltr;text-align:right!important}.rc-section tfoot{font-weight:700;background:#EAF1F7}.rc-pager{display:flex;gap:15px;justify-content:center;align-items:center;margin-top:14px;font-size:12px}@media(max-width:1050px){.rc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rc-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.rc-grid,.rc-filters{grid-template-columns:1fr}.rc-tools{flex-wrap:wrap}.rc-card{padding:18px}.rc-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Finance: section first, then the tools for the current job. */
.fin-navigation{background:var(--card,#fff);border:1px solid var(--line);border-radius:18px;margin-bottom:var(--gap-section);overflow:hidden}
.fin-sections{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));padding:8px;gap:6px;border-bottom:1px solid var(--line)}
.fin-section{font:inherit;font-size:13px;font-weight:800;border:0;border-radius:11px;background:transparent;color:var(--muted);padding:14px 8px;cursor:pointer;line-height:1.6}
.fin-section:hover{background:var(--ground);color:var(--brand)}
.fin-section.active{background:var(--brand);color:white;box-shadow:0 3px 8px #085ea61a}
.fin-context{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 20px;color:var(--muted);font-size:12px;line-height:1.8}
.fin-subtabs{display:flex;flex-wrap:wrap;gap:8px;padding:0 20px 16px}
.fin-subtab{font:inherit;font-size:12px;font-weight:700;cursor:pointer;padding:9px 15px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--muted)}
.fin-subtab.active{color:var(--brand);background:#eef6fc;border-color:#9bc4e3}
.fin-subtab:hover{border-color:var(--brand);color:var(--brand)}
.fin-options{margin-inline-start:auto;position:relative;font-size:12px;color:var(--muted)}
.fin-options summary{cursor:pointer;padding:8px}
.fin-options[open] .btn{position:absolute;inset-inline-end:0;top:100%;z-index:5;white-space:nowrap;box-shadow:0 6px 20px #16263818}
.fin-overview-details{background:white;border:1px solid var(--line);border-radius:16px;margin-bottom:var(--gap-section)}
.fin-overview-details>summary{cursor:pointer;padding:18px 20px;font-weight:800;font-size:14px}
.fin-overview-details>summary span{font-size:12px;color:var(--muted);font-weight:400;margin-inline-start:16px}
.fin-overview-content{padding:0 16px 4px}
.fin-section:focus-visible,.fin-subtab:focus-visible{outline:3px solid #78b5e4;outline-offset:2px}
@media(max-width:1050px){.fin-sections{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.fin-sections{grid-template-columns:repeat(2,minmax(0,1fr))}.fin-context{align-items:flex-start;flex-direction:column;padding:12px}.fin-subtabs{padding:0 12px 12px;gap:6px}.fin-subtab{padding:8px 10px}.fin-overview-details>summary span{display:block;margin:6px 0 0}.fin-overview-content{padding:0 8px 4px}}
.sb-line{display:grid;grid-template-columns:2fr 2fr 1fr 1fr auto;gap:10px;align-items:end;padding:14px 0;border-bottom:1px solid var(--line);margin-bottom:12px}.sb-line label{font-size:12px;color:var(--muted)}.sb-line input,.sb-line select{margin-top:6px}@media(max-width:850px){.sb-line{grid-template-columns:1fr 1fr}.sb-line>label:first-child{grid-column:1/-1}}

.sb-help{font-size:12px;line-height:1.9;color:var(--muted);margin:10px 0}
/* Fixed asset register and depreciation workspace. */
.fa-intro{display:flex;justify-content:space-between;align-items:center;gap:16px}.fa-intro p,.fa-help{font-size:12px;color:var(--muted);line-height:1.9}.fa-views{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:var(--gap-section)}.fa-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:var(--gap-section)}.fa-metrics button{font:inherit;text-align:right;padding:22px;background:white;border:1px solid var(--line);border-radius:16px;cursor:pointer}.fa-metrics span{font-size:12px;color:var(--muted)}.fa-metrics strong{display:block;font-size:26px;color:var(--brand);margin:10px 0}.fa-metrics small{font-size:11px;color:var(--muted)}.fa-code{display:block;color:var(--brand);margin-top:5px}.fa-detail-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;background:var(--ground);padding:18px;border-radius:12px;margin:16px 0;font-size:12px}.fa-detail-metrics b{display:block;font-size:21px;margin-top:8px}.fa-history{max-height:380px;overflow:auto;margin:12px 0}.fa-history thead{position:sticky;top:0;background:white;z-index:1}.fa-disposal{background:var(--ground);padding:18px;border-radius:12px;margin-top:14px}@media(max-width:700px){.fa-intro{align-items:flex-start;flex-direction:column}.fa-metrics{grid-template-columns:1fr}.fa-detail-metrics{grid-template-columns:1fr}.fa-metrics button{padding:16px}}

/* Standalone asset files. */
.am-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.am-stats strong{display:block;font-size:26px;color:var(--brand);margin:10px 0}.am-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin:20px 0}.am-card{font:inherit;text-align:right;border:1px solid var(--line);background:#fff;border-radius:16px;padding:20px;cursor:pointer;color:var(--ink)}.am-card:hover{border-color:var(--brand);box-shadow:0 5px 20px #085ea612}.am-card h3{margin:14px 0}.am-card p{color:var(--muted);margin:8px 0}.am-code{background:#e8f2fb;color:var(--brand);border-radius:8px;padding:5px 10px;font-weight:700}@media(max-width:650px){.am-stats{grid-template-columns:1fr}}
.am-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:12px 0}.am-filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:14px;align-items:end}.am-filters .field{margin:0}.am-stat{font:inherit;text-align:right;color:var(--ink);cursor:pointer}.am-stat:hover{border-color:var(--brand)}@media(max-width:800px){.am-filters{grid-template-columns:1fr 1fr}}@media(max-width:500px){.am-filters{grid-template-columns:1fr}}
.pb-line{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:12px;border:1px solid var(--line);border-radius:12px;padding:16px;margin:16px 0}.pb-line label{font-size:12px;color:var(--muted)}.pb-line button{align-self:end}@media(max-width:650px){.pb-line{grid-template-columns:1fr 1fr}}
.pb-help{color:var(--muted);font-size:13px;line-height:1.8}.pb-actions,.pb-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin:14px 0}.pb-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.pb-kpis>div{padding:16px;background:var(--ground);border-radius:12px}.pb-kpis b{display:block;font-size:24px;color:var(--brand)}
.pb-payment{display:flex;gap:16px;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.pb-payment>span{flex:1;min-width:180px;line-height:1.8}.pb-payment>b{white-space:nowrap}.pb-actions+.pb-payment{margin-top:12px}
.mnt-intake{margin:20px 0}.mnt-intake-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0}.mnt-intake-slot{display:block;border:1px solid var(--line);border-radius:12px;padding:14px;font-weight:600}.mnt-intake-slot input{font-size:12px;margin-top:10px}.mnt-intake-grid img{width:100%;max-height:220px;object-fit:contain;border-radius:8px;background:var(--ground)}.mnt-intake-grid img[hidden]{display:none}.mnt-intake-grid figure{margin:0}.mnt-intake-grid figcaption{font-size:12px;color:var(--muted);padding:6px}@media(max-width:550px){.mnt-intake-grid{grid-template-columns:1fr}}
.mnt-intake-slot img{height:110px;max-height:110px;margin-top:8px}
.cc-actions{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:16px 0}.cc-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.cc-metrics>div{padding:18px;background:var(--ground);border-radius:12px}.cc-metrics strong{display:block;font-size:24px;color:var(--brand);margin-top:10px}.cc-account{display:flex;align-items:end;gap:14px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:14px 0}.cc-account>b{flex:1;min-width:180px}.cc-targets label{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.cc-targets input[type=number]{width:100px;margin-inline-start:auto}@media(max-width:650px){.cc-metrics{grid-template-columns:1fr}}

.cost-center-page .field-hint{color:var(--muted)}

/* Guided reconciliation: correction remains in its original authorized workflow. */
.precon-plan{padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--ground);margin:var(--gap-section) 0}
.precon-plan li{margin-bottom:10px;line-height:1.8}
.precon-return{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:40;display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:white;border:1px solid var(--line);box-shadow:0 6px 24px #0002;border-radius:16px;padding:12px;max-width:calc(100vw - 32px);width:max-content}
@media print{.precon-return{display:none}}

/* Opening balance approval and payment history. */
.ob-history-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);margin-bottom:10px}.ob-history-row>span{flex:1;min-width:0;line-height:1.8;overflow-wrap:anywhere}.ob-history-row>.btn{flex:none}

/* Operations cards: project references, entitlement and notes at a glance. */
.op-trip-cards{display:grid;gap:12px;padding:12px;min-width:0;background:#E4EBF1;border-radius:0 0 14px 14px}
.op-trip-card{position:relative;background:var(--white,#fff);border:1px solid #C4D2DF;border-inline-start:3px solid var(--brand);border-radius:12px;padding:10px 12px;min-width:0;box-shadow:0 2px 4px rgba(29,34,38,.07)}
.op-trip-head,.op-trip-identity,.op-trip-actions{display:flex;align-items:center;gap:12px}
.op-trip-head{justify-content:space-between;flex-wrap:wrap}
.op-trip-identity{min-width:0}.op-trip-identity strong{font-size:14px;overflow-wrap:anywhere}
.op-trip-identity .plate-chip{flex:none}.op-trip-identity .plate-chip b{padding:2px 9px}
.op-trip-route{font-size:12px;color:var(--muted);margin-top:3px;overflow-wrap:anywhere}
.op-trip-actions{flex:none;gap:8px}.op-trip-actions .badge{border:0}
.op-trip-context{display:flex;flex:1 1 180px;flex-wrap:wrap;gap:4px 16px;font-size:12px;color:var(--muted);margin:0}.op-trip-head{margin-bottom:8px}
.op-trip-context b{color:var(--ink);font-weight:600}
.op-trip-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:var(--ground);border-radius:8px;padding:8px 2px;gap:8px 0}
.op-trip-metric{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:3px 8px;padding:0 10px;min-width:0;border-inline-start:1px solid var(--line)}.op-trip-metric:first-child{border:0}
.op-trip-metric>span{display:block;color:var(--muted);font-size:11px;margin-bottom:0}.op-trip-metric>b{font-size:13px;overflow-wrap:anywhere}.op-trip-metric small{font-weight:400;font-size:10px}
.op-trip-commission>b{color:var(--brand)}
.op-project-link{background:none;border:0;padding:0;color:var(--brand);font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.op-trip-notes{margin-top:6px;padding-top:0}
.op-trip-notes summary{display:flex;align-items:center;gap:7px;cursor:pointer;color:var(--muted);font-size:12px;list-style:none}.op-trip-notes summary::-webkit-details-marker{display:none}.op-trip-notes summary span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.op-trip-notes[open] summary span{white-space:normal;overflow-wrap:anywhere}
.op-note{display:flex;align-items:flex-end;gap:8px;margin-top:10px;min-width:0}.op-note textarea{min-height:66px;resize:vertical;margin:0;font:inherit;flex:1;min-width:0}.op-note .btn{flex:none}
@media(max-width:1000px){.op-trip-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.op-trip-metric:nth-child(4){border:0}}
@media(max-width:600px){.op-trip-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.op-trip-metric:nth-child(odd){border:0}.op-trip-metric:nth-child(4){border-inline-start:1px solid var(--line)}.op-trip-cards{padding:8px}.op-trip-card{padding:12px}.op-trip-head{gap:10px}.op-trip-actions{margin-inline-start:auto}}

/* Compact coupled identifiers use the trailer recorded on this trip. */
.op-rig{display:flex;align-items:center;flex:none;max-width:100%;color:var(--brand)}
.op-rig-unit{display:flex;align-items:center;gap:6px;border:1px solid #D6E4EF;background:#F3F8FC;border-radius:8px;padding:5px 8px;min-width:0}
.op-rig-unit small{display:block;font-size:10px;line-height:1.3;color:var(--muted)}
.op-rig-unit b{display:block;font-size:12px;line-height:1.5;white-space:nowrap}
.op-rig-trailer{background:var(--ground);color:var(--ink);border-color:var(--line)}
.op-rig-coupler{width:14px;height:2px;background:var(--brand);position:relative;flex:none}.op-rig-coupler:before,.op-rig-coupler:after{content:'';position:absolute;top:-2px;width:6px;height:6px;border:1px solid var(--brand);border-radius:50%;background:white}.op-rig-coupler:before{right:-2px}.op-rig-coupler:after{left:-2px}
.op-rig-art{display:flex;align-items:center;flex:none}
.op-rig-art .trailer-art{position:static!important;width:50px!important;height:26px!important;transform:none!important;filter:none;margin:0;object-fit:contain}
.op-rig-unknown{border-style:dashed;color:var(--muted)}
@media(max-width:750px){.op-trip-identity{flex-wrap:wrap}.op-rig-unit{padding:5px 6px}.op-rig-art{display:none}.op-rig-unit b{white-space:normal;overflow-wrap:anywhere}}

.dh-group{border:1px solid var(--line);border-radius:10px;padding:12px;margin:12px 0}.dh-group summary{cursor:pointer;font-weight:700;color:var(--brand)}.dh-group[open]>summary{margin-bottom:12px}.dh-docs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dh-doc{display:flex;flex-direction:column;gap:5px;padding:10px;border:1px solid var(--line);border-radius:9px;font-size:12px}.dh-doc span,.dh-doc small{color:var(--muted)}.dh-doc.expired{border-color:var(--danger)}.dh-doc.expired small{color:var(--danger)}.dh-doc.soon small{color:var(--warn)}

/* Account directory: five sections, expandable main accounts, direct child detail. */
.ac-group-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ac-group-head h3{margin:0;flex:1}.ac-totals{display:flex;gap:20px;flex-wrap:wrap;font-size:12px;color:var(--muted);padding:10px 0}.ac-totals b{color:var(--ink);margin-inline-start:6px;font-variant-numeric:tabular-nums}.ac-main{border:1px solid var(--line);border-radius:12px;margin-top:10px;background:#fff}.ac-main>summary{cursor:pointer;padding:12px 16px;display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap}.ac-main>summary:before{content:'▸';color:var(--brand)}.ac-main[open]>summary:before{content:'▾'}.ac-main>summary>span:first-of-type{flex:1}.ac-main-body{padding:12px 16px;border-top:1px solid var(--line)}.ac-main-body>.btn{margin-bottom:10px}.ac-main summary .ac-totals{padding:0}#ac-parent-box[hidden]{display:none}

/* A compact, actionable starting point on the dashboard. */
.dd-panel{padding:20px}.dd-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.dd-eyebrow{color:var(--brand);font-size:11px;font-weight:700}.dd-head h2{font-size:21px;margin:4px 0}.dd-head p{margin:0;color:var(--muted);font-size:12px}.dd-label{font-size:11px;color:var(--muted);white-space:nowrap}.dd-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.dd-card{appearance:none;text-align:start;font:inherit;background:#F7FAFD;border:1px solid var(--line);border-radius:13px;padding:14px;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:9px;min-width:0;color:var(--ink)}.dd-card:hover{background:#EFF6FC;border-color:var(--brand)}.dd-card:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.dd-count{font-size:28px;font-weight:800;line-height:1;color:var(--brand);font-variant-numeric:tabular-nums}.dd-card.warn .dd-count{color:var(--warn)}.dd-copy strong{display:block;font-size:13px}.dd-copy small{display:block;margin-top:6px;color:var(--muted);font-size:11px;line-height:1.7}.dd-action{margin-top:auto;padding-top:5px;color:var(--brand);font-size:11px;font-weight:700}.dd-more{margin-top:14px}.dd-more summary{cursor:pointer;color:var(--muted);font-size:12px;padding:6px 0}.dd-more .dd-grid{margin-top:10px}.dd-empty{color:var(--muted);font-size:13px;margin:0;padding:10px 0}@media(max-width:1100px){.dd-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.dd-panel{padding:14px}.dd-head{align-items:flex-start}.dd-label{display:none}.dd-grid{grid-template-columns:1fr}.dd-card{display:grid;grid-template-columns:40px 1fr;gap:8px 12px}.dd-action{grid-column:2}.dd-count{font-size:25px}.dd-head h2{font-size:19px}}

/* Personal attention inbox: closed initially, dismiss beside every item. */
.dd-inbox{padding:0}.dd-summary{list-style:none;display:flex;align-items:center;gap:10px;cursor:pointer;padding:17px 20px}.dd-summary::-webkit-details-marker{display:none}.dd-summary strong{font-size:17px}.dd-fold{color:var(--brand);transition:transform .15s}.dd-inbox[open]>.dd-summary .dd-fold{transform:rotate(90deg)}.dd-badge{background:#EDF4FA;color:var(--brand);border:1px solid var(--line);border-radius:20px;min-width:26px;padding:2px 7px;text-align:center;font-size:12px;font-weight:700}.dd-summary-hint{margin-inline-start:auto;color:var(--muted);font-size:12px}.dd-inbox-body{border-top:1px solid var(--line);padding:12px 20px 16px}.dd-list{display:grid;gap:8px}.dd-row{display:flex;align-items:center;gap:14px;border:1px solid var(--line);background:#F7FAFD;border-radius:12px;padding:10px 12px}.dd-row .dd-card{flex:1;display:grid;grid-template-columns:42px 1fr auto;align-items:center;border:0;background:transparent;padding:0;gap:12px}.dd-row .dd-count{font-size:24px}.dd-row .dd-action{margin:0;padding:0}.dd-row .dd-copy small{margin-top:3px}.dd-dismiss{flex:none;color:var(--muted)}.dd-inbox>.dd-empty{padding:14px 20px}@media(max-width:600px){.dd-summary{padding:14px;flex-wrap:wrap}.dd-summary-hint{font-size:11px}.dd-inbox-body{padding:10px 12px}.dd-row{gap:8px}.dd-row .dd-card{grid-template-columns:30px 1fr;gap:6px}.dd-row .dd-action{grid-column:2}.dd-row .dd-count{font-size:21px}}
.dd-list{max-height:480px;overflow:auto;padding:3px}.dd-row .dd-copy{min-width:0}.dd-row .dd-copy strong{overflow-wrap:anywhere}
.dd-inbox-body>.field-hint{color:var(--muted)}
.dept-note,.dept-assign .field-hint{color:var(--muted);font-weight:400}
.dept-trial-open{display:flex;align-items:center;gap:10px;width:100%;margin:0 0 12px;padding:12px;border:1px solid #ffffff38;border-radius:12px;background:#ffffff0b;color:#fff;text-align:start;font:inherit;cursor:pointer}.dept-trial-open span{font-size:13px;font-weight:700}.dept-trial-open small{display:block;margin-top:4px;font-size:11px;font-weight:400;color:#c9d9e7}.dept-trial-open:hover{background:#ffffff18}
.dept-trial-banner{display:flex;flex-direction:column;gap:7px;width:100%;padding:13px;margin-bottom:12px;border:1px solid #4a84b5;border-radius:13px;background:#123a5b;color:white}.dept-trial-banner small{color:#ccdfef;font-size:11px}.dept-trial-banner strong{font-size:14px;line-height:1.7}.dept-trial-banner>span{font-size:10px;color:#ccdfef}.dept-trial-banner button{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:5px;border:0;border-radius:9px;background:white;color:var(--brand);padding:10px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.dept-trial-banner button:disabled{opacity:.6;cursor:wait}.dept-trial-open:focus-visible,.dept-trial-banner button:focus-visible{outline:2px solid white;outline-offset:3px}
.dept-trial-intro>.ic{color:var(--brand)}.dept-trial-intro h2{margin:12px 0 8px}.dept-trial-intro p{color:var(--muted);font-size:14px;line-height:1.8;margin:0 0 22px}.dept-trial-info{background:#edf5fc;border:1px solid #d4e4f2;border-radius:12px;padding:14px;margin-top:18px;font-size:13px}.dept-trial-info b{color:var(--brand)}.dept-trial-info p{color:var(--muted);line-height:1.9;margin:6px 0 0}

/* Department workspaces and multi-department user assignment. */
.dept-head{align-items:center}.dept-head h1{margin:6px 0}.dept-head p{margin:0;color:var(--muted)}
.dept-symbol{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:#E5EFF8;color:var(--brand);flex:none}
.dept-switch{display:flex;align-items:center;gap:14px;margin-bottom:var(--gap-section);padding:14px 18px;background:white;border:1px solid var(--line);border-radius:14px}
.dept-switch label{font-weight:700;white-space:nowrap}.dept-switch select{width:auto;min-width:245px;max-width:100%}.dept-switch>.muted{margin-inline-start:auto;font-size:12px}
.dept-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:var(--gap-section)}
.dept-metric{font:inherit;text-align:start;border:1px solid var(--line);border-radius:17px;background:white;padding:20px;display:flex;flex-direction:column;gap:10px;cursor:pointer;color:var(--ink);min-width:0;box-shadow:0 3px 10px #17283c05}
.dept-metric>span{font-size:13px;color:var(--muted)}.dept-metric strong{font-size:32px;font-variant-numeric:tabular-nums;line-height:1.25;color:var(--brand)}.dept-metric small{color:var(--muted);font-size:11px}.dept-metric.warn strong{color:var(--warn)}
.dept-metric:hover,.dept-link:hover{border-color:var(--brand);background:#F7FAFD}.dept-metric:focus-visible,.dept-link:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
.dept-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.dept-link{font:inherit;display:flex;gap:12px;align-items:center;border:1px solid var(--line);background:#F7FAFD;border-radius:12px;padding:15px;cursor:pointer;text-align:start;color:var(--brand)}.dept-link>span:first-of-type{flex:1;color:var(--ink);font-size:13px;font-weight:700}
.dept-assign{border:1px solid var(--line);border-radius:14px;padding:14px;margin:12px 0 18px}.dept-assign legend{font-weight:700;padding:0 6px}.dept-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.dept-choice{display:flex;align-items:flex-start;gap:9px;border:1px solid var(--line);border-radius:11px;padding:12px;cursor:pointer;background:#F7FAFD}.dept-choice input{margin-top:4px}.dept-choice:has(input:checked){border-color:var(--brand);background:#EDF5FC}.dept-choice b{font-size:13px}.dept-choice small{display:block;color:var(--muted);font-size:11px;margin-top:5px;line-height:1.7}.dept-user-title{display:block;font-weight:700}.dept-user-title+small{display:block;max-width:300px;white-space:normal;margin-top:4px}
@media(max-width:1100px){.dept-metrics,.dept-links{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.dept-metrics,.dept-links,.dept-choices{grid-template-columns:1fr}.dept-switch{flex-wrap:wrap;gap:9px}.dept-switch select{width:100%;min-width:0}.dept-switch>.muted{margin:0}.dept-metric{padding:16px}.dept-symbol{width:48px;height:48px}}

/* Project handover evidence: load photos only when a trip is opened. */
.prj-proofs{scroll-margin-top:22px}.prj-proofs>h3{align-items:center}.prj-proofs>h3 .muted{flex-basis:100%;line-height:1.8}.prj-proof-list{display:grid;gap:10px}.prj-proof-trip{border:1px solid var(--line);border-radius:15px;background:#fff;overflow:hidden;scroll-margin-top:22px}.prj-proof-trip>summary{display:flex;align-items:center;gap:18px;padding:16px 18px;cursor:pointer;list-style:none;min-height:78px}.prj-proof-trip>summary::-webkit-details-marker{display:none}.prj-proof-trip>summary:focus-visible{outline:2px solid var(--brand);outline-offset:-3px}.prj-proof-truck{display:flex;align-items:center;gap:8px;color:var(--brand);min-width:130px}.prj-proof-truck b{font-size:14px}.prj-proof-route{flex:1;min-width:0}.prj-proof-route b{display:block;font-size:14px;overflow-wrap:anywhere}.prj-proof-route small{display:block;color:var(--muted);margin-top:4px;font-size:11px}.prj-proof-count{color:var(--brand);background:#edf5fc;border-radius:9px;padding:6px 10px;font-size:11px;white-space:nowrap}.prj-proof-chevron{color:var(--muted);font-size:19px}.prj-proof-trip[open]>summary{background:#f5f9fc;border-bottom:1px solid var(--line)}.prj-proof-trip[open] .prj-proof-chevron{transform:rotate(180deg)}.prj-proof-body{padding:0 18px 18px}.prj-proof-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.prj-proof-tools .field-hint{margin:0;color:var(--muted)}.prj-proof-empty{margin:14px 0 0;background:var(--ground);color:var(--muted);border-radius:10px;padding:13px;font-size:12px}.prj-proofs .ev-image{height:145px}.prj-proofs .ev-slot .ev-hint{margin:0}.prj-proofs .ev-phase>summary{gap:9px}.prj-proofs .ev-phase>summary b{font-size:13px}.prj-proofs .ev-retry{display:none}
@media(max-width:700px){.prj-proof-trip>summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:9px;padding:14px}.prj-proof-route{grid-column:1/-1;grid-row:2}.prj-proof-truck{min-width:0}.prj-proof-truck b{font-size:12px}.prj-proof-count{font-size:10px;padding:4px 7px}.prj-proof-body{padding:0 12px 12px}.prj-proof-tools{align-items:flex-start}.prj-proof-tools .field-hint{font-size:11px}.prj-proofs .ev-image{height:110px}.prj-proofs .ev-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.prj-proofs .ev-slot:first-child{grid-template-columns:80px minmax(0,1fr)}.prj-proofs .ev-phase>summary{gap:6px;padding:12px}.prj-proofs .ev-phase>summary b{font-size:12px}.prj-proofs .ev-count{font-size:10px;padding:4px 6px}}

/* I1: مبدّل اللغة (الشريط الجانبي وشاشة الدخول) */
.foot .lang-btn{font-size:11px; font-weight:800; letter-spacing:.2px; padding:4px 8px; border-radius:8px; min-width:0}
.entry-lang{display:inline-block; margin-bottom:10px; padding:4px 10px; border:1px solid var(--line); border-radius:999px; background:transparent; font:inherit; font-size:12px; font-weight:700; color:var(--brand); cursor:pointer}
[dir="ltr"] .foot .lang-btn, [dir="ltr"] .entry-lang{letter-spacing:0}
/* I1: اتجاه المستند يتبع سمة dir على الجذر؛ العربية تبقى كما هي (body{direction:rtl}) وهذه القاعدة لا تعمل إلا في LTR */
html[dir="ltr"] body{direction:ltr}

/* Vehicle forms are long: avoid a viewport-sized backdrop blur during scrolling. */
#modal-back.vehicle-form{backdrop-filter:none;-webkit-backdrop-filter:none;overscroll-behavior:contain}
