/* ==========================================================================
   نظام متابعة الصيانة — الفاروق ستور
   RTL · بدون أى مكتبات خارجية · يشتغل على الموبايل والديسكتوب
   ========================================================================== */
:root{
  color-scheme:light;
  --bg:#f1f4f9; --panel:#ffffff; --panel-soft:#f8fafc; --panel-soft2:#f1f5f9; --field:#ffffff; --row-hover:#f8fbff;
  --ink:#0f172a; --ink2:#334155; --mut:#64748b;
  --line:#e3e8f0; --line2:#eef2f7;
  --brand:#004592; --brand-d:#00336e; --brand-l:#dbe8f8;   /* أزرق الفاروق */
  --brand-solid:#004592; --brand-solid-hover:#00336e;
  --accent:#ffa200; --accent-l:#fff2da;                    /* برتقال الفاروق */
  --danger:#dc2626; --danger-l:#fee2e2; --danger-ink:#991b1b; --danger-border:#fecaca; --danger-solid:#dc2626; --danger-solid-hover:#b91c1c;
  --ok:#059669; --ok-l:#d1fae5; --ok-ink:#065f46; --ok-border:#a7f3d0; --ok-hover:#dcfce7;
  --info:#2563eb; --info-l:#dbeafe; --info-ink:#1e40af; --info-border:#bfdbfe;
  --warn:#d97706; --warn-l:#fef3c7; --warn-ink:#92400e; --warn-border:#fde68a;
  --violet:#7c3aed; --violet-l:#ede9fe; --violet-ink:#5b21b6;
  --ret-bg:#fae8ff; --ret-ink:#86198f; --muted-bg:#f1f5f9; --muted-ink:#475569;
  --soft-info:#f0f7ff; --soft-ok:#f0fdf4; --status-warn-bg:#fef9c3; --progress-bg:#e2e8f0;
  --fault-bg:#dfe7ef; --fault-border:#94a3b8; --fault-ink:#0f172a; --fault-placeholder:#526174; --fault-focus:#eaf0f5;
  --wa-bg:#dcfce7; --wa-border:#16a34a; --wa-hover:#bbf7d0;
  --btn-sec-bg:#edf2f7; --btn-sec-hover:#dfe8f1; --btn-sec-border:#cbd8e5; --btn-sec-ink:#2f4661;
  --btn-ghost-bg:#e4eefb; --btn-ghost-hover:#d1e2f7; --btn-ghost-border:#b7cde8; --btn-ghost-ink:#00336e;
  --btn-duplicate:#0f766e; --btn-duplicate-hover:#115e59;
  --side:#08214a; --side2:#0d2c5e; --side-ink:#c9d6ea;
  --r:12px; --r-sm:8px; --sh:0 1px 2px rgba(15,23,42,.06),0 8px 24px rgba(15,23,42,.06);
  --ff:"Segoe UI","Noto Sans Arabic","Noto Kufi Arabic","Tahoma","Cairo",system-ui,-apple-system,sans-serif;
  --fm:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--bg); color:var(--ink); font-family:var(--ff); font-size:14.5px; line-height:1.65;
  direction:rtl; -webkit-font-smoothing:antialiased;
}
a{color:var(--brand-d);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{margin:0 0 .5rem;line-height:1.35;font-weight:700}
h1{font-size:1.35rem} h2{font-size:1.15rem} h3{font-size:1rem}
small,.small{font-size:.8rem;color:var(--mut)}
code,pre,.mono{font-family:var(--fm);font-size:.82em;direction:ltr;text-align:left}
hr{border:0;border-top:1px solid var(--line);margin:1rem 0}

/* ------------------------------------------------------------------ layout */
.app{display:grid;grid-template-columns:240px 1fr;min-height:100vh}
.side{background:var(--side);color:var(--side-ink);position:sticky;top:0;height:100vh;overflow-y:auto;padding:0 0 2rem}
.side .brand{display:flex;gap:.6rem;align-items:center;padding:1.1rem 1rem;border-bottom:1px solid #1e293b}
.side .brand .logo{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--brand),#0ea5e9);
  display:grid;place-items:center;color:#fff;font-weight:800;font-size:1rem;flex:0 0 auto}
.side .brand img.logo-img{height:36px;width:auto;flex:0 0 auto;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}
.login img.logo-img{height:62px;width:auto;display:block;margin:0 auto .5rem}
.print-head img.logo-img{height:46px;width:auto}
.side .brand b{color:#fff;display:block;font-size:.95rem;line-height:1.2}
.side .brand span{font-size:.72rem;color:#94a3b8}
.nav{padding:.7rem .5rem;display:flex;flex-direction:column;gap:2px}
.nav .grp{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b;padding:.9rem .6rem .3rem}
.nav a{display:flex;align-items:center;gap:.6rem;padding:.55rem .7rem;border-radius:9px;color:var(--side-ink);font-size:.9rem}
.nav a:hover{background:#1a2436;color:#fff;text-decoration:none}
.nav a.on{background:linear-gradient(90deg,rgba(13,148,136,.25),rgba(13,148,136,.05));color:#fff;box-shadow:inset 3px 0 0 var(--brand)}
.nav a .ico{width:20px;text-align:center;opacity:.9;font-size:.95rem}
.nav a .badge{margin-inline-start:auto;background:#1f2937;color:#cbd5e1;border-radius:99px;padding:0 .4rem;font-size:.7rem;min-width:1.3rem;text-align:center}
.nav a.on .badge{background:var(--brand-solid);color:#fff}
.side .foot{margin-top:1rem;padding:.8rem 1rem;border-top:1px solid #1e293b;font-size:.72rem;color:#64748b}

.main{min-width:0;display:flex;flex-direction:column}
.top{background:var(--panel);border-bottom:1px solid var(--line);padding:.6rem 1rem;display:flex;gap:.8rem;align-items:center;position:sticky;top:0;z-index:30}
.top .crumb{font-size:.8rem;color:var(--mut)}
.top .spacer{flex:1}
.top .who{display:flex;align-items:center;gap:.5rem;font-size:.85rem}
.top .who .av{width:30px;height:30px;border-radius:50%;background:var(--brand-l);color:var(--brand-d);display:grid;place-items:center;font-weight:700;font-size:.78rem}
.notifications{position:relative;flex:0 0 auto}
.notifications-summary{position:relative;display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:9px;background:var(--panel);cursor:pointer;list-style:none;user-select:none}
.notifications-summary::-webkit-details-marker{display:none}
.notifications-summary::marker{display:none}
.notifications[open] .notifications-summary,.notifications-summary:hover{background:var(--brand-l);border-color:var(--info-border)}
.notifications-bell{font-size:1.15rem;line-height:1}
.notifications-badge{position:absolute;top:-6px;inset-inline-end:-7px;min-width:18px;height:18px;padding:0 4px;border-radius:99px;background:var(--danger-solid);color:#fff;border:2px solid var(--panel);font-size:.65rem;font-weight:800;line-height:14px;text-align:center}
.notifications-panel{position:absolute;top:calc(100% + 9px);left:0;width:min(390px,calc(100vw - 24px));background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 40px rgba(15,23,42,.18);overflow:hidden;z-index:100}
.notifications-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.75rem .85rem;border-bottom:1px solid var(--line2)}
.notifications-head span{font-size:.72rem;color:var(--mut)}
.notifications-list{max-height:370px;overflow-y:auto}
.notification-form{margin:0}
.notification-item{display:block;width:100%;padding:.65rem .85rem;border:0;border-bottom:1px solid var(--line2);background:var(--panel);color:var(--ink);font:inherit;text-align:right;cursor:pointer}
.notification-item:hover{background:var(--panel-soft)}
.notification-item.unread{background:var(--soft-info);border-inline-start:3px solid var(--brand)}
.notification-title{display:block;font-size:.82rem;font-weight:800;color:var(--brand-d);margin-bottom:.15rem}
.notification-body{display:block;font-size:.76rem;line-height:1.55;color:var(--ink2);word-break:break-word}
.notification-item small{display:block;margin-top:.25rem;font-size:.68rem}
.notifications-empty{padding:1.5rem .8rem;text-align:center;color:var(--mut);font-size:.82rem}
.notifications-foot{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .85rem;background:var(--panel-soft);font-size:.75rem}
.notifications-foot form{margin:0}
.link-btn{padding:0;border:0;background:none;color:var(--brand-d);font:inherit;cursor:pointer}
.link-btn:hover{text-decoration:underline}
.notifications-page-list{display:flex;flex-direction:column;gap:.65rem}
.notification-page-item{display:flex;align-items:center;gap:1rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.notification-page-item.unread{background:var(--soft-info);border-inline-start:3px solid var(--brand)}
.notification-page-copy{flex:1;min-width:0}
.notification-page-title{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin-bottom:.25rem;color:var(--brand-d)}
.notification-page-body{font-size:.86rem;line-height:1.65;word-break:break-word;margin-bottom:.25rem}
.assignment-fields{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.7rem;align-items:end;max-width:650px}
.assignment-form{margin-bottom:.45rem}
.external-status-box{border:1px solid var(--info-border);background:var(--soft-info);border-radius:var(--r-sm);padding:.65rem .75rem}
.external-assignment-form{margin-top:.55rem}
.external-assignment-fields{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.7rem;align-items:end;max-width:760px}
.external-assignment-fields select{min-width:0}
.external-center-name{max-width:100%;overflow-wrap:anywhere;white-space:normal}
.external-accounts-search{display:flex;gap:.7rem;align-items:flex-end}
.external-accounts-search-field{flex:1;min-width:0;margin:0}
.external-accounts-search-actions{display:flex;gap:.45rem;flex-wrap:wrap}
.external-accounts-sticky{position:fixed;display:none;overflow:hidden;pointer-events:none;z-index:25;background:var(--panel-soft);border-bottom:1px solid var(--line);box-shadow:0 5px 14px rgba(15,23,42,.12)}
.external-accounts-sticky.is-visible{display:block}
.external-accounts-sticky-table{position:absolute;top:0;left:0;margin:0;border-collapse:separate;border-spacing:0}
.external-accounts-sticky-table thead th{position:static;background:var(--panel-soft)}
.external-accounts-js .external-accounts-table thead th{position:static}
.content{padding:1rem;flex:1;min-width:0}
.burger{display:none;background:none;border:1px solid var(--line);border-radius:8px;padding:.3rem .55rem;font-size:1rem;cursor:pointer}

/* ------------------------------------------------------------------ pieces */
.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh)}
.panel>.hd{padding:.8rem 1rem;border-bottom:1px solid var(--line2);display:flex;align-items:center;gap:.6rem}
.panel>.hd h2,.panel>.hd h3{margin:0}
.panel>.hd .spacer{flex:1}
.panel>.bd{padding:1rem}
.panel>.bd.tight{padding:0}
.grid{display:grid;gap:1rem}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.row{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}
.row.end{justify-content:flex-end}
.stack{display:flex;flex-direction:column;gap:.6rem}
.mt{margin-top:1rem}.mt0{margin-top:0}.mb{margin-bottom:1rem}

.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:.85rem 1rem;box-shadow:var(--sh);position:relative;overflow:hidden}
.kpi .lb{font-size:.78rem;color:var(--mut);display:flex;align-items:center;gap:.35rem}
.kpi .vl{font-size:1.6rem;font-weight:800;letter-spacing:-.02em;margin-top:.15rem}
.kpi .sub{font-size:.72rem;color:var(--mut)}
.kpi::after{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:4px;background:var(--brand)}
.kpi.warn::after{background:var(--accent)} .kpi.bad::after{background:var(--danger)}
.kpi.ok::after{background:var(--ok)} .kpi.info::after{background:var(--info)}

.pill{display:inline-flex;align-items:center;gap:.3rem;border-radius:99px;padding:.1rem .55rem;font-size:.74rem;font-weight:600;white-space:nowrap;border:1px solid transparent}
.st-new{background:var(--info-l);color:var(--info-ink)} .st-prog{background:var(--warn-l);color:var(--warn-ink)}
.st-ready{background:var(--violet-l);color:var(--violet-ink)} .st-done{background:var(--ok-l);color:var(--ok-ink)}
.st-rej{background:var(--danger-l);color:var(--danger-ink)} .st-ret{background:var(--ret-bg);color:var(--ret-ink)}
.st-warn{background:var(--status-warn-bg);color:var(--warn-ink)}
.c-ok{background:var(--ok-l);color:var(--ok-ink)}.c-bad{background:var(--danger-l);color:var(--danger-ink)}
.c-info{background:var(--info-l);color:var(--info-ink)}.c-warn{background:var(--warn-l);color:var(--warn-ink)}
.c-mut{background:var(--panel-soft2);color:var(--muted-ink)}
.tag{display:inline-block;background:var(--panel-soft2);border:1px solid var(--line);color:var(--ink2);border-radius:6px;padding:0 .4rem;font-size:.72rem}

/* --------------------------------------------------- فلاتر قابلة للطى */
.filter-collapse>summary{padding:.72rem 1rem;display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;cursor:pointer;user-select:none;border-radius:var(--r);list-style:none;transition:background .15s}
.filter-collapse>summary::-webkit-details-marker{display:none}
.filter-collapse>summary::marker{content:""}
.filter-collapse>summary:hover{background:var(--panel-soft2)}
.filter-collapse>summary:focus-visible{outline:3px solid rgba(0,69,146,.2);outline-offset:-3px}
.filter-collapse>summary small{color:var(--mut);font-size:.72rem}
.filter-collapse[open]>summary{border-bottom:1px solid var(--line2);border-radius:var(--r) var(--r) 0 0}
.filter-arrow{display:inline-grid;place-items:center;width:1.3rem;height:1.3rem;color:var(--brand);font-size:1.05rem;line-height:1;transition:transform .18s}
.filter-collapse[open] .filter-arrow{transform:rotate(180deg)}

/* ------------------------------------------------------------------- forms */
label{display:block;font-size:.8rem;color:var(--ink2);margin-bottom:.25rem;font-weight:600}
input[type=text],input[type=password],input[type=date],input[type=time],input[type=number],input[type=search],input[type=email],select,textarea{
  width:100%;padding:.5rem .65rem;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--field);color:var(--ink);
  font-family:inherit;font-size:.88rem;transition:border-color .15s,box-shadow .15s;
}
textarea{min-height:74px;resize:vertical}
/* خانة العطل أوضح أثناء الاستلام من غير تغيير باقى الحقول */
textarea.fault-input{background:var(--fault-bg);border-color:var(--fault-border);color:var(--fault-ink);font-weight:600}
textarea.fault-input::placeholder{color:var(--fault-placeholder);opacity:1}
textarea.fault-input:focus{background:var(--fault-focus);border-color:var(--brand)}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px rgba(0,69,146,.15)}
input[readonly]{background:var(--panel-soft);color:var(--mut)}
.hint{font-size:.72rem;color:var(--mut);margin-top:.2rem}
.err{font-size:.72rem;color:var(--danger);margin-top:.2rem}
.field{margin-bottom:.7rem}
.chk{display:flex;align-items:center;gap:.4rem;font-size:.85rem;background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--r-sm);padding:.4rem .55rem;cursor:pointer}
.chk input{width:16px;height:16px;accent-color:var(--brand)}
.form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:.7rem}
.form-grid>div{grid-column:span 12}
.c3{grid-column:span 3}.c4{grid-column:span 4}.c6{grid-column:span 6}.c8{grid-column:span 8}.c9{grid-column:span 9}.c12{grid-column:span 12}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:var(--brand-solid);color:#fff;border:1px solid transparent;
  padding:.5rem .9rem;border-radius:var(--r-sm);font-family:inherit;font-size:.86rem;font-weight:600;cursor:pointer;transition:.15s;white-space:nowrap}
.btn:hover{background:var(--brand-solid-hover);text-decoration:none}
.btn.sec{background:var(--btn-sec-bg);color:var(--btn-sec-ink);border-color:var(--btn-sec-border)}
.btn.sec:hover{background:var(--btn-sec-hover);color:var(--ink);border-color:var(--btn-ghost-border)}
.btn.ghost{background:var(--btn-ghost-bg);color:var(--btn-ghost-ink);border-color:var(--btn-ghost-border)}
.btn.ghost:hover{background:var(--btn-ghost-hover);color:var(--brand-d);border-color:var(--brand)}
.btn.btn-duplicate{background:var(--btn-duplicate);color:#fff;border-color:var(--btn-duplicate)}
.btn.btn-duplicate:hover{background:var(--btn-duplicate-hover);color:#fff;border-color:var(--btn-duplicate-hover)}
.btn:focus-visible{outline:3px solid rgba(37,99,235,.28);outline-offset:2px}
.btn.btn-duplicate:focus-visible{outline-color:rgba(15,118,110,.38)}
.btn.danger{background:var(--danger-solid)}.btn.danger:hover{background:var(--danger-solid-hover)}
.btn.warn{background:var(--accent);color:#3b2506}.btn.warn:hover{background:#d97706}
.btn.btn-whatsapp{background:#0f7b45;color:#fff;border-color:#0f7b45}
.btn.btn-whatsapp:hover{background:#0a6034;color:#fff;border-color:#0a6034}
.btn.btn-whatsapp .wa-logo{display:block;width:1.15rem;height:1.15rem;flex:0 0 auto}
.btn.sm{padding:.28rem .55rem;font-size:.78rem;border-radius:6px}
.btn.xs{padding:.15rem .42rem;font-size:.72rem;border-radius:6px}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btnrow{display:flex;gap:.4rem;flex-wrap:wrap}

/* ------------------------------------------------------------------ tables */
.tbl-wrap{overflow-x:auto;border-radius:var(--r)}
table.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:.85rem}
table.tbl th{background:var(--panel-soft);color:var(--ink2);font-size:.75rem;text-transform:none;font-weight:700;
  padding:.55rem .6rem;border-bottom:1px solid var(--line);white-space:nowrap;position:sticky;top:0;z-index:5}
table.tbl td{padding:.5rem .6rem;border-bottom:1px solid var(--line2);vertical-align:middle}
table.tbl tbody tr:hover{background:var(--row-hover)}
table.tbl td.num,table.tbl th.num{text-align:center;font-variant-numeric:tabular-nums}
table.tbl td.money{font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
table.tbl tr.clickable{cursor:pointer}
.tbl .cust{font-weight:600}
.tbl .sub{color:var(--mut);font-size:.75rem}
.tbl tfoot td{background:var(--panel-soft);font-weight:700}
.empty{padding:2.5rem 1rem;text-align:center;color:var(--mut)}
.empty .big{font-size:2rem;opacity:.35}

/* ------------------------------------------------------------------ alerts */
.alert[hidden]{display:none!important}
.alert{border-radius:var(--r-sm);padding:.6rem .8rem;margin-bottom:.8rem;font-size:.86rem;border:1px solid transparent;display:flex;gap:.5rem;align-items:flex-start}
.alert.ok{background:var(--ok-l);color:var(--ok-ink);border-color:var(--ok-border)}
.alert.bad{background:var(--danger-l);color:var(--danger-ink);border-color:var(--danger-border)}
.alert.info{background:var(--info-l);color:var(--info-ink);border-color:var(--info-border)}
.alert.warn{background:var(--warn-l);color:var(--warn-ink);border-color:var(--warn-border)}

/* ------------------------------------------------------------------- bars */
.bar{height:8px;background:var(--line2);border-radius:99px;overflow:hidden}
.bar>i{display:block;height:100%;background:var(--brand);border-radius:99px}
.bar.warn>i{background:var(--accent)}.bar.bad>i{background:var(--danger)}.bar.info>i{background:var(--info)}
.chart{display:flex;flex-direction:column;gap:.45rem}
.chart .r{display:grid;grid-template-columns:9rem 1fr 5.5rem;gap:.5rem;align-items:center;font-size:.8rem}
.chart .r .v{text-align:end;font-weight:700;font-variant-numeric:tabular-nums}
.spark{display:flex;align-items:flex-end;gap:3px;height:70px}
.spark>i{flex:1;background:linear-gradient(180deg,var(--brand),#5eead4);border-radius:3px 3px 0 0;min-height:2px;position:relative}
.spark>i:hover::after{content:attr(data-tip);position:absolute;bottom:105%;right:50%;transform:translateX(50%);
  background:#0f172a;color:#fff;padding:.15rem .4rem;border-radius:5px;font-size:.68rem;white-space:nowrap;z-index:9}

/* ------------------------------------------------------------------ pager */
.pager{display:flex;gap:.3rem;align-items:center;justify-content:center;flex-wrap:wrap;padding:.7rem}
.pager a,.pager span{padding:.25rem .6rem;border:1px solid var(--line);border-radius:7px;background:var(--panel);font-size:.8rem;color:var(--ink2)}
.pager span.on{background:var(--brand-solid);border-color:var(--brand-solid);color:#fff;font-weight:700}
.pager a:hover{background:var(--panel-soft2);text-decoration:none}
.pager .gap{border:0;background:none}

/* ------------------------------------------------------------------- misc */
.filters{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:.55rem;align-items:end}
.filters>div{grid-column:span 6}
.filters .fq{grid-column:span 12}
.quickchips{display:flex;gap:.35rem;flex-wrap:wrap}
.chip{border:1px solid var(--btn-sec-border);background:var(--btn-sec-bg);border-radius:99px;padding:.2rem .6rem;font-size:.76rem;color:var(--btn-sec-ink);cursor:pointer}
.chip:hover{background:var(--btn-ghost-bg);border-color:var(--brand);color:var(--brand-d);text-decoration:none}
.chip.on{background:var(--brand-solid);border-color:var(--brand-solid);color:#fff;font-weight:600}
.kv{display:grid;grid-template-columns:9rem 1fr;gap:.35rem .8rem;font-size:.87rem}
.kv dt{color:var(--mut);font-size:.8rem}
.kv dd{margin:0;font-weight:500;word-break:break-word}
.timeline{display:flex;flex-direction:column;gap:.5rem;max-height:22rem;overflow-y:auto;padding-inline-start:.2rem}
.tl{border-inline-start:2px solid var(--line);padding:.1rem .7rem .5rem;position:relative}
.tl::before{content:"";position:absolute;inset-inline-start:-5px;top:.5rem;width:8px;height:8px;border-radius:50%;background:var(--brand)}
.tl.note::before{background:var(--accent)} .tl.status::before{background:var(--info)} .tl.edit::before{background:#94a3b8}
.tl .m{font-size:.7rem;color:var(--mut)}
.tl .b{font-size:.85rem}
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:1rem;
  background:radial-gradient(1200px 600px at 80% -10%,#0d948833,transparent),linear-gradient(180deg,#0b1220,#111c30)}
.login{width:min(420px,100%);background:var(--panel);border-radius:16px;padding:1.6rem;box-shadow:0 24px 60px rgba(2,6,23,.5)}
.login .logo{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,var(--brand),#0ea5e9);
  display:grid;place-items:center;color:#fff;font-weight:800;font-size:1.3rem;margin:0 auto .8rem}
.login h1{text-align:center;font-size:1.15rem}
.login .sub{text-align:center;color:var(--mut);font-size:.82rem;margin-bottom:1.2rem}
.login .demo{margin-top:1rem;background:var(--panel-soft);border:1px dashed var(--line);border-radius:10px;padding:.6rem;font-size:.75rem;color:var(--mut);text-align:center}

.debug{margin-top:2rem;padding:.5rem .8rem;background:#0f172a;color:#94a3b8;border-radius:8px;font-size:.72rem;direction:ltr;text-align:left}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.scroll-y{max-height:60vh;overflow-y:auto}

/* ------------------------------------------------ سداد الأمر والصافى */
.job-payment-summary{margin-bottom:1.25rem;padding:.85rem;border:1px solid var(--line);border-radius:var(--r);background:var(--panel-soft)}
.job-payment-amounts{display:grid;grid-template-columns:1.2fr 1.1fr .9fr;gap:.7rem}
.job-payment-card{min-width:0;padding:.7rem .85rem;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel)}
.job-payment-card.net{background:var(--ok-l);border-color:var(--ok-border)}
.job-payment-card.total{background:var(--soft-info);border-color:var(--info-border)}
.job-payment-card>span{display:block;color:var(--ink2);font-size:.8rem;font-weight:700}
.job-payment-card>strong{display:block;margin-top:.15rem;font-size:1.2rem;font-weight:900;line-height:1.4;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.job-payment-card.net>strong{color:var(--ok-ink);font-size:1.7rem}
.job-payment-card.total>strong{color:var(--ink);font-size:1.45rem}
.job-payment-form{margin-top:.8rem;padding-top:.75rem;border-top:1px solid var(--line)}
.job-payment-form>label{display:block;margin-bottom:.3rem;font-size:.85rem;font-weight:800}
.job-payment-controls{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap}
.job-payment-controls input{width:min(15rem,100%);font-size:1.05rem;font-weight:800;font-variant-numeric:tabular-nums}
.job-payment-controls .btn{flex:0 0 auto}
.job-payment-form .hint{margin-top:.35rem}

/* ------------------------------------------------------------- responsive */
@media (max-width:1000px){
  .g4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .g3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
  .app{grid-template-columns:1fr}
  .side{position:fixed;inset:0 auto 0 0;width:264px;z-index:60;transform:translateX(-102%);transition:transform .2s;height:100dvh}
  body.nav-open .side{transform:none;box-shadow:0 0 60px rgba(2,6,23,.5)}
  .burger{display:inline-block}
  .g2,.g3,.g4{grid-template-columns:minmax(0,1fr)}
  .dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
  .dashboard-kpis .kpi{padding:.7rem}
  .c3,.c4,.c6,.c8,.c9{grid-column:span 12}
  .filters>div,.filters .fq{grid-column:span 12}
  .content{padding:.7rem}
  .chart .r{grid-template-columns:6rem 1fr 4.5rem}
}
@media (max-width:640px){
  body{font-size:14px}
  .kpi .vl{font-size:1.3rem}
  .filter-collapse>summary>small{display:none}
  .kv{grid-template-columns:7rem 1fr}
  .job-payment-summary{padding:.7rem}
  .job-payment-amounts{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}
  .job-payment-card{padding:.6rem}
  .job-payment-card.net{grid-column:1/-1}
  .job-payment-card.net>strong{font-size:1.5rem}
  .job-payment-card.total>strong{font-size:1.25rem}
  .job-payment-card.paid>strong{font-size:1.05rem}
  .job-payment-controls{align-items:stretch}
  .job-payment-controls input{flex:1 1 10rem;width:auto;min-width:0}
  .job-payment-controls .btn{flex:1 1 8rem}
  table.tbl{font-size:.8rem}
  table.tbl th,table.tbl td{padding:.4rem .45rem}
  .tbl .hide-sm{display:none}
  .notification-page-item{flex-direction:column;align-items:stretch;gap:.55rem}
  .notification-page-item form{align-self:flex-start}
  .assignment-fields{grid-template-columns:1fr}
  .assignment-fields .btn{width:100%}
  .external-assignment-fields{grid-template-columns:1fr}
  .external-assignment-fields .btn{width:100%}
  #external-pricing>.hd{flex-wrap:wrap}
  #external-pricing>.hd>.spacer{display:none}
  .external-accounts-search{flex-direction:column;align-items:stretch}
  .external-accounts-search-actions .btn{flex:1}
  .top{flex-wrap:wrap;gap:.45rem;padding:.5rem .6rem}
  .top .crumb{display:none}
  .top>form.no-print{flex:1 0 100%;order:10;min-width:0!important}
  .top>form.no-print input{min-width:0}
  .top .who .hide-sm{display:none}
  .notifications-panel{position:fixed;top:108px;left:12px;right:12px;width:auto}
}
@media print{
  .external-accounts-sticky{display:none!important}
  .side,.top,.no-print,.pager,.btnrow,.filters{display:none!important}
  .print-head{display:flex!important;flex-wrap:wrap;align-items:center;gap:.8rem;margin-bottom:.7rem;
    border-bottom:3px solid #004592;padding-bottom:.4rem}
  .print-head b{font-size:1.05rem;color:#004592}
  .print-head span{font-size:.8rem;color:#444;width:100%}
  body{background:var(--panel)}
  .app{grid-template-columns:1fr}
  .panel{box-shadow:none;border-color:#cbd5e1}
  .content{padding:0}
}

/* ------------------------------------------------------------------ صور الجهاز */
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.6rem;margin-bottom:.8rem}
.gallery figure{margin:0;border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;background:var(--panel);position:relative}
.gallery a{display:block}
.gallery img{width:100%;height:110px;object-fit:cover;display:block;background:var(--line2)}
.gallery figcaption{display:flex;align-items:center;justify-content:space-between;gap:.4rem;
  padding:.25rem .45rem;font-size:.72rem;color:var(--mut);border-top:1px solid var(--line2)}
.gallery figcaption form.inline{margin:0;display:inline}
.gallery .del{border:0;background:var(--danger-l);color:var(--danger);border-radius:6px;cursor:pointer;
  font-size:.7rem;line-height:1;padding:.2rem .35rem}
.gallery .del:hover{background:var(--danger-solid);color:#fff}
.uploadrow{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;border-top:1px dashed var(--line);padding-top:.7rem}
.uploadrow input[type=file]{flex:1 1 220px;min-width:0;font-size:.8rem}
.uploadrow input[type=text]{flex:1 1 180px;min-width:0}
.timeline .tl.whatsapp{border-color:#25d366;background:var(--soft-ok)}
.timeline .tl.whatsapp::before{background:#25d366}
.timeline .tl.photo{border-color:var(--info);background:var(--info-l)}
.timeline .tl.photo::before{background:var(--info)}

/* ------------------------------------------------------------------ بوابة العملاء */
.card-job{display:block;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);
  padding:.7rem .9rem;color:inherit;text-decoration:none;transition:.15s}
.card-job:hover{border-color:var(--brand);box-shadow:var(--sh);text-decoration:none}

/* ------------------------------------------------------- salaries (weekly) */
.scroll-x{overflow-x:auto}
.ctr{text-align:center}
.c-mute{color:var(--mut)}
input.sm-in{width:5.6rem;padding:.22rem .4rem;font:inherit;font-size:.85rem;text-align:center;border:1px solid var(--line);border-radius:6px;background:var(--panel,#fff)}
input.sm-in.wide{width:9rem;text-align:right}
.sal-tbl td,.sal-tbl th{padding:.35rem .4rem;white-space:nowrap}
.sal-tbl tfoot th{background:var(--panel-soft);font-weight:800;border-top:2px solid var(--line)}
.wa-btn{display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;border-radius:8px;background:var(--wa-bg);border:1px solid var(--wa-border);text-decoration:none;font-size:1rem}
.wa-btn:hover{background:var(--wa-hover)}
.permsgrid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1.4rem;margin-top:.1rem}
.permscroll{border:1px dashed var(--line);border-radius:8px;padding:.6rem .8rem;margin-top:.3rem;max-height:300px;overflow-y:auto;background:var(--panel-soft)}
.permsgrid.one{grid-template-columns:1fr}
.permsgrid .pg{display:flex;flex-direction:column;gap:.15rem}
.permsgrid .pg>b{margin-bottom:.15rem;color:var(--mut)}
.permsbox{margin:.3rem 0}

/* ------------------------------------------------------- تابات صلاحيات الأقسام */
.role-tabs{display:flex;gap:.45rem;align-items:stretch;overflow-x:auto;padding:.2rem .1rem .65rem;margin-bottom:.7rem;border-bottom:1px solid var(--line);scrollbar-width:thin}
.role-tab{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.12rem;min-width:8.5rem;padding:.55rem .85rem;border:1px solid var(--line);border-radius:10px 10px 0 0;background:var(--panel-soft);color:var(--mut);font:inherit;font-weight:700;cursor:pointer;transition:.15s}
.role-tab small{font-size:.66rem;font-weight:400;color:var(--mut)}
.role-tab:hover{border-color:var(--brand);color:var(--brand);background:var(--info-l)}
.role-tab.active{background:var(--brand-solid);border-color:var(--brand-solid);color:#fff;box-shadow:0 3px 0 var(--accent)}
.role-tab.active small{color:#e0ecff}
.role-tab:focus-visible{outline:3px solid rgba(255,162,0,.45);outline-offset:2px}
.role-permission-panel{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);overflow:hidden}
.role-permission-panel[hidden]{display:none}
.role-permission-panel>.bd{padding-top:.75rem}
.role-tech-note{margin-bottom:.75rem}
@media (max-width:640px){.role-tab{min-width:7.5rem;padding:.5rem .65rem;font-size:.8rem}.permsgrid{grid-template-columns:1fr}}

/* ------------------------------------------- اتجاه خانات استلام أمر جديد فقط */
.new-job-entry{direction:rtl}
.new-job-entry input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.new-job-entry select,
.new-job-entry textarea{direction:rtl!important;text-align:right!important;unicode-bidi:normal}
.new-job-entry input::placeholder,
.new-job-entry textarea::placeholder{direction:rtl;text-align:right}

/* ------------------------------------------------------- تارجت ومكافآت الفنيين */
.incentive-settings{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel-soft);padding:.65rem .8rem}
.incentive-settings>summary{cursor:pointer;font-weight:800;color:var(--brand)}
.incentive-settings-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;align-items:end;margin-top:.8rem}
.incentive-settings-form .incentive-save{padding-bottom:1px}
.incentive-progress{width:8rem;max-width:100%;height:.55rem;border-radius:99px;background:var(--progress-bg);overflow:hidden;margin-bottom:.25rem}
.incentive-progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brand),var(--accent))}
.incentive-tbl td{vertical-align:middle}
.incentive-tbl tfoot th{background:var(--panel-soft);border-top:2px solid var(--line)}
.incentive-qualified>td{background:var(--soft-ok)}
.incentive-qualified:hover>td{background:var(--ok-hover)}
@media (max-width:800px){.incentive-settings-form{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.incentive-settings-form{grid-template-columns:1fr}}
@media print{.incentive-settings,.incentive-tbl .no-print{display:none!important}.incentive-qualified>td{background:var(--panel)}}

/* ------------------------------------------------------- الوضع الفاتح / الداكن */
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:36px;padding:.4rem .65rem;border:1px solid var(--line);border-radius:9px;background:var(--panel-soft);color:var(--ink2);font:inherit;font-size:.78rem;font-weight:700;cursor:pointer;white-space:nowrap}
.theme-toggle:hover{background:var(--brand-l);border-color:var(--brand);color:var(--brand-d)}
.theme-toggle:focus-visible{outline:3px solid rgba(255,162,0,.45);outline-offset:2px}
.theme-toggle[aria-pressed="true"]{border-color:var(--accent)}
.theme-icon{font-size:1rem;line-height:1}
.login-wrap{position:relative}
.login-theme{position:absolute;top:1rem;inset-inline-end:1rem;z-index:2;box-shadow:var(--sh)}
@media(max-width:1150px){.top .theme-toggle .theme-text{display:none}.top .theme-toggle{width:36px;padding:.4rem;flex:0 0 auto}}

/* الداكن للشاشة فقط؛ عند الطباعة ترجع متغيرات :root الفاتحة تلقائيًا. */
@media screen{
  :root[data-theme="dark"]{
    color-scheme:dark;
    --bg:#0b1120; --panel:#121c2e; --panel-soft:#17243a; --panel-soft2:#1e2c42; --field:#0f192a; --row-hover:#182941;
    --ink:#e8eef7; --ink2:#c4d1e2; --mut:#94a6bd;
    --line:#304057; --line2:#233248;
    --brand:#75b7ff; --brand-d:#a9d2ff; --brand-l:#173453;
    --brand-solid:#2563c7; --brand-solid-hover:#1d4fa4;
    --accent:#ffb739; --accent-l:#3b2d13;
    --danger:#fb7185; --danger-l:#3c1e2a; --danger-ink:#fecdd3; --danger-border:#9f303f; --danger-solid:#b91c1c; --danger-solid-hover:#9f1239;
    --ok:#34d399; --ok-l:#12372f; --ok-ink:#a7f3d0; --ok-border:#21775b; --ok-hover:#18543a;
    --info:#60a5fa; --info-l:#172f4f; --info-ink:#bfdbfe; --info-border:#2c5c92;
    --warn:#fbbf24; --warn-l:#3b2f14; --warn-ink:#fde68a; --warn-border:#8a641d;
    --violet:#c4b5fd; --violet-l:#2b2550; --violet-ink:#ddd6fe;
    --ret-bg:#3b2144; --ret-ink:#f5d0fe; --muted-bg:#1d2a3d; --muted-ink:#c3d0e2;
    --soft-info:#172f4f; --soft-ok:#12372f; --status-warn-bg:#3b2f14; --progress-bg:#304057;
    --fault-bg:#1a2a3f; --fault-border:#526983; --fault-ink:#f1f5f9; --fault-placeholder:#a9b8ca; --fault-focus:#20344d;
    --wa-bg:#123c2b; --wa-border:#22c55e; --wa-hover:#18543a;
    --btn-sec-bg:#1b2a3d; --btn-sec-hover:#263b53; --btn-sec-border:#3a4d65; --btn-sec-ink:#d6e2ef;
    --btn-ghost-bg:#173453; --btn-ghost-hover:#214665; --btn-ghost-border:#35658f; --btn-ghost-ink:#bfdbfe;
    --side:#07182f; --side2:#0b2448; --side-ink:#c9d6ea;
    --sh:0 1px 2px rgba(0,0,0,.22),0 8px 24px rgba(0,0,0,.18);
  }
  :root[data-theme="dark"] .notifications-panel{box-shadow:0 14px 40px rgba(0,0,0,.45)}
  :root[data-theme="dark"] .btn.warn:hover{background:#f59e0b;color:#3b2506}

  /* تقرير الصيانة المجمع له ملف CSS إضافى؛ هذه القواعد تغطيه فى الداكن. */
  :root[data-theme="dark"] .mj-summary-card{border-color:var(--line);background:var(--panel-soft)}
  :root[data-theme="dark"] .mj-summary-card.money{background:var(--info-l);border-color:var(--info-border)}
  :root[data-theme="dark"] .mj-summary-card .lb,
  :root[data-theme="dark"] .mj-meta span,
  :root[data-theme="dark"] .mj-count,
  :root[data-theme="dark"] .mj-empty,
  :root[data-theme="dark"] .mj-event-meta,
  :root[data-theme="dark"] .mj-tech-note,
  :root[data-theme="dark"] .mj-report-foot{color:var(--mut)}
  :root[data-theme="dark"] .mj-summary-card .vl,
  :root[data-theme="dark"] .mj-job-number,
  :root[data-theme="dark"] .mj-section h4,
  :root[data-theme="dark"] .mj-totals b{color:var(--brand-d)}
  :root[data-theme="dark"] .mj-job{border-color:var(--line);background:var(--panel);box-shadow:var(--sh)}
  :root[data-theme="dark"] .mj-job-head{border-color:var(--line)}
  :root[data-theme="dark"] .mj-device-lines{color:var(--ink2);border-color:var(--line)}
  :root[data-theme="dark"] .mj-section{border-color:var(--line)}
  :root[data-theme="dark"] .mj-section h4{border-color:var(--line2)}
  :root[data-theme="dark"] .mj-external-note{background:var(--ok-l);color:var(--ok-ink)}
  :root[data-theme="dark"] .mj-internal-note,
  :root[data-theme="dark"] .mj-truncated{background:var(--warn-l);color:var(--warn-ink);border-color:var(--warn-border)}
  :root[data-theme="dark"] .mj-events li{border-color:var(--line)}
  :root[data-theme="dark"] .mj-parts th,
  :root[data-theme="dark"] .mj-parts td{border-color:var(--line)}
  :root[data-theme="dark"] .mj-parts th{background:var(--panel-soft2);color:var(--ink2)}
  :root[data-theme="dark"] .mj-totals{border-color:var(--brand);color:var(--ink2)}
  :root[data-theme="dark"] .mj-totals .mj-grand{color:var(--brand)}
  :root[data-theme="dark"] .mj-pagination>a:not(.btn),
  :root[data-theme="dark"] .mj-pagination>span{border-color:var(--line);background:var(--panel);color:var(--ink2)}
  :root[data-theme="dark"] .mj-pagination>span.on{background:var(--brand-solid);border-color:var(--brand-solid);color:#fff}
  :root[data-theme="dark"] .mj-no-results{border-color:var(--line);color:var(--mut);background:var(--panel-soft)}
  :root[data-theme="dark"] .mj-signature{color:var(--ink2)}
  :root[data-theme="dark"] .mj-signature div{border-color:var(--mut)}
}

/* ------------------------------------------------------- v1.48 الخدمات الذاتية */
.tasks-top-panel{width:min(420px,calc(100vw - 24px))}
.notifications-head a{color:var(--brand);font-size:.74rem;text-decoration:none;font-weight:700}
.tasks-quick-add{padding:.7rem .85rem;border-bottom:1px solid var(--line2);background:var(--panel-soft)}
.tasks-quick-add>input[type=text]{width:100%;margin-bottom:.45rem}
.tasks-quick-add-row{display:flex;gap:.45rem;align-items:center}
.tasks-quick-add-row input{flex:1;min-width:0;font-size:.75rem;padding:.4rem}
.tasks-quick-add-row .btn{flex:0 0 auto}
.tasks-top-list{max-height:300px;overflow-y:auto}
.tasks-top-item{display:flex;align-items:center;gap:.5rem;padding:.65rem .85rem;border-bottom:1px solid var(--line2)}
.tasks-top-item.is-overdue{background:var(--danger-l)}
.tasks-top-copy{flex:1;min-width:0;color:inherit;text-decoration:none}
.tasks-top-copy b{display:block;font-size:.8rem;overflow-wrap:anywhere}
.tasks-top-copy small{display:block;color:var(--mut);font-size:.68rem;margin-top:.12rem}
.tasks-top-item form{margin:0}
.tasks-top-item .link-btn{font-size:1rem;color:var(--ok);font-weight:900}
.task-entry-form{display:grid;grid-template-columns:minmax(230px,2fr) minmax(180px,1fr) minmax(120px,.55fr);gap:.7rem;align-items:end;margin-bottom:.65rem}
.task-entry-form .field{margin:0}
.task-notes-field{grid-column:1/3}
.task-save-field{grid-column:3;grid-row:2}
.task-save-field .btn{width:100%}
.tasks-list-head{flex-wrap:wrap}
.task-filters{display:flex;gap:.35rem;flex-wrap:wrap}
.task-search-form{display:flex;align-items:flex-end;gap:.45rem;flex-wrap:wrap;margin-bottom:.85rem}
.task-search-form .field{margin:0}
.task-search-field{flex:1 1 260px;min-width:0}
.task-search-form .btn{flex:0 0 auto}
.task-search-count{align-self:center}
.personal-task-list{display:flex;flex-direction:column;gap:.65rem}
.personal-task{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.8rem .9rem;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel)}
.personal-task.is-focused{outline:3px solid var(--accent);outline-offset:2px}
.personal-task.is-overdue{border-color:var(--danger-border);background:var(--danger-l)}
.personal-task.is-done{opacity:.72;background:var(--panel-soft)}
.personal-task.is-done .personal-task-title>b{text-decoration:line-through}
.personal-task-main{flex:1;min-width:0}
.personal-task-title{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin-bottom:.35rem}
.personal-task-title>b{font-size:.95rem;overflow-wrap:anywhere}
.personal-task-notes{font-size:.84rem;margin-bottom:.4rem;overflow-wrap:anywhere}
.personal-task-main>small{color:var(--mut)}
.personal-task-actions{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:flex-end;flex:0 0 auto}
.personal-task-actions form{margin:0}
.task-edit-panel{max-width:850px;margin-inline:auto}
/* v1.60: مشاركة مهمة محددة بمحتوى ثابت بلا JavaScript إضافى */
.task-shared-names{margin-top:.3rem;color:var(--mut);overflow-wrap:anywhere}
.task-share-control{margin-top:.55rem;max-width:100%}
.task-share-control>summary{display:inline-flex;list-style:none;cursor:pointer}
.task-share-control>summary::-webkit-details-marker{display:none}
.task-share-control>summary::marker{content:""}
.task-share-panel{margin-top:.45rem;padding:.55rem;border:1px solid var(--line2);border-radius:var(--r-sm);background:var(--panel-soft);min-width:min(100%,330px)}
.task-share-form{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}
.task-share-user{flex:1 1 230px;min-width:0;font-size:.78rem;padding:.42rem}
.task-share-list{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.45rem}
.task-share-person{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .45rem;border:1px solid var(--line2);border-radius:999px;background:var(--panel);font-size:.74rem}
.task-share-person form{margin:0}
.task-share-person .link-btn{font-size:.7rem;color:var(--danger)}
.task-shared-hint{margin-top:.45rem;font-size:.74rem}
.my-week-nav{margin-bottom:.85rem;gap:.45rem;flex-wrap:wrap}
.my-pay-section,.my-target-section{padding:.9rem 0;border-top:1px solid var(--line2)}
.my-pay-section:first-of-type{border-top:0;padding-top:0}
.my-pay-person{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}
.my-pay-person h3{margin:0}
.my-pay-table th{background:var(--panel-soft);white-space:nowrap}
.my-pay-table td{min-width:8rem}
.my-pay-table .my-net-row th,.my-pay-table .my-net-row td{background:var(--soft-ok);font-size:1.05rem;border-top:2px solid var(--ok-border)}
.my-target-progress .incentive-progress{width:100%;height:.75rem}
.my-target-progress>small{display:block;color:var(--mut);margin-top:.35rem}
.advance-entry-form{display:flex;gap:.7rem;align-items:end;flex-wrap:wrap;margin-bottom:.65rem}
.advance-entry-form .field{margin:0;flex:1 1 230px}
.advance-entry-form .advance-reason-field{flex:2 1 340px}
.advance-entry-form .advance-save-field{flex:0 0 auto}
.advance-focused>td{background:var(--soft-info)!important}
.advance-decision-form{min-width:230px}
.advance-decision-form>input{width:100%;margin-bottom:.4rem;font-size:.78rem;padding:.35rem}
.advance-review-head{flex-wrap:wrap}
.advance-review-table td{vertical-align:top}
@media (max-width:760px){
  .task-entry-form{grid-template-columns:1fr}
  .task-notes-field,.task-save-field{grid-column:1;grid-row:auto}
  .personal-task{flex-direction:column}
  .personal-task-actions{justify-content:flex-start;width:100%}
  .task-share-form{align-items:stretch}
  .task-share-user{flex-basis:100%;width:100%}
  .task-share-form .btn{width:100%}
  .task-search-field{flex-basis:100%}
  .advance-entry-form .advance-save-field,.advance-entry-form .advance-save-field .btn{width:100%}
}
@media (max-width:640px){
  .notifications-panel.tasks-top-panel{position:fixed;top:108px;left:12px;right:12px;width:auto}
  .task-filters{width:100%}
  .task-filters .btn{flex:1}
  .my-pay-table td{min-width:7rem}
}
@media print{
  .personal-tasks-top,.task-entry-form,.task-filters,.task-search-form,.personal-task-actions,.task-share-control,.advance-entry-form,.advance-decision-form{display:none!important}
  .my-pay-section,.my-target-section{break-inside:avoid}
  /* v1.50: الطباعة بعرض A4 لا تتحول لعمود واحد وتترك صفحة أولى شبه فاضية */
  .my-pay-section .grid.g4,.my-target-section .grid.g4{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}
  .my-pay-section .kpi,.my-target-section .kpi{padding:.65rem}
}

/* ------------------------------------------------------- v1.49 كلمة سر المستخدم */
.account-password-panel{max-width:820px}
.account-password-link{text-decoration:none;flex:0 0 auto}
@media (max-width:640px){.account-password-panel .grid.g2{grid-template-columns:1fr}}

/* ------------------------------------------- v1.71 المتابعة والسجل وكتالوج المحل */
@media screen{
  .panel-followup{
    --followup-border:#a78bfa; --followup-dot:#8b5cf6; --followup-heading:#5b21b6;
    --followup-head-a:#ede9fe; --followup-head-b:#f8f5ff; --followup-chip-hover:#e4dbff;
    overflow:hidden; border-color:var(--followup-border);
    background:linear-gradient(180deg,#fbfaff 0%,var(--panel) 38%);
    box-shadow:0 0 0 1px rgba(139,92,246,.08),0 10px 28px rgba(124,58,237,.10);
  }
  .panel-followup>.hd{background:linear-gradient(90deg,var(--followup-head-a),var(--followup-head-b));border-bottom-color:var(--followup-border)}
  .panel-followup>.hd h3{color:var(--followup-heading);font-size:1.05rem;font-weight:900}
  .panel-followup>.hd small{padding:.12rem .55rem;border:1px solid var(--followup-border);border-radius:999px;
    background:var(--violet-l);color:var(--violet-ink);font-size:.72rem;font-weight:800}
  .btn.btn-followup{background:#7c3aed;border-color:#7c3aed;color:#fff}
  .btn.btn-followup:hover{background:#6d28d9;border-color:#6d28d9;color:#fff}
  .btn.btn-followup:focus-visible{outline-color:rgba(124,58,237,.38)}
  .panel-followup .chip{background:var(--violet-l);border-color:var(--followup-border);color:var(--violet-ink);font-weight:600}
  .panel-followup .chip:hover{background:var(--followup-chip-hover);border-color:var(--followup-dot);color:var(--followup-heading)}
  .panel-followup textarea:focus{border-color:var(--followup-dot);box-shadow:0 0 0 3px rgba(139,92,246,.18)}
  .panel-followup .timeline .tl{border-inline-start-color:var(--followup-border)}
  .panel-followup .timeline .tl::before{background:var(--followup-dot);box-shadow:0 0 0 3px var(--violet-l)}
  :root[data-theme="dark"] .panel-followup{
    --followup-border:#6d5a9e; --followup-dot:#a78bfa; --followup-heading:#ddd6fe;
    --followup-head-a:#2c2350; --followup-head-b:#1a2338; --followup-chip-hover:#3a3170;
    background:linear-gradient(180deg,#1b1730 0%,var(--panel) 42%);
    box-shadow:0 0 0 1px rgba(139,92,246,.14),0 12px 34px rgba(0,0,0,.22);
  }

  .local-part-add{margin-top:.25rem;padding:.8rem .85rem;border:1px solid var(--info-border);border-inline-start:4px solid var(--brand);
    border-radius:10px;background:linear-gradient(135deg,var(--soft-info),var(--panel))}
  .local-part-add>h3{display:flex;align-items:center;gap:.4rem;margin:0 0 .65rem;color:var(--brand-d);
    font-size:1.06rem;font-weight:900;line-height:1.5}
  .local-part-add .uploadrow{border-top:0;padding-top:0}
  .local-part-add input{font-size:.92rem;font-weight:600}
  .local-part-add input::placeholder{color:var(--mut);opacity:1;font-weight:500}
  .local-part-add .btn.sm{font-size:.84rem;font-weight:800}
  .local-part-add .hint{margin-top:.5rem;color:var(--ink2);font-size:.78rem;line-height:1.7}
}
@media screen and (max-width:640px){
  .local-part-add{padding:.7rem}
  .local-part-add>h3{font-size:1rem}
}
