/* =====================================================================
 *  المشاريع والقضايا — الخريطة العمودية ولوحة العنصر (pm.js · pmcfg.js)
 * ===================================================================== */
.pm-hd{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.pm-ring{--p:0;--c:var(--teal);width:78px;height:78px;border-radius:50%;flex:none;display:grid;place-items:center;background:conic-gradient(var(--c) calc(var(--p)*1%),var(--pill) 0)}
.pm-ring b{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:var(--surface);font-size:16px;font-weight:800}
.pm-tt{flex:1;min-width:240px}.pm-tt h3{margin:3px 0 4px;font-size:18px}
.pm-kind{display:inline-block;padding:1px 10px;border-radius:20px;font-size:11px;font-weight:700;color:#fff;background:var(--kc)}
.pm-dates{display:flex;flex-wrap:wrap;gap:14px;font-size:11.5px;color:var(--muted)}.pm-dates b{color:var(--ink)}.pm-dates .bad,.pm-dates .bad b{color:var(--high)}
.pm-timebar{position:relative;height:16px;margin-top:8px;border-radius:9px;background:var(--pill);overflow:hidden;max-width:520px}
.pm-timebar i{position:absolute;inset-block:0;inset-inline-start:0}.pm-timebar .t{background:repeating-linear-gradient(45deg,var(--line-2) 0 6px,transparent 6px 12px)}
.pm-timebar .p{background:var(--teal);opacity:.85;height:8px;top:4px;border-radius:9px}
.pm-timebar span{position:absolute;inset-inline-end:8px;top:0;font-size:10px;line-height:16px;font-weight:700;color:var(--ink)}
.pm-acts{align-self:flex-start;flex-wrap:wrap}
.pm-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-top:14px}
.pm-k{border:1px solid var(--line);border-radius:11px;padding:9px 12px;background:var(--surface-2)}.pm-k[data-pm]{cursor:pointer}.pm-k[data-pm]:hover{border-color:var(--teal)}
.pm-k span{display:block;font-size:10.5px;color:var(--muted)}.pm-k b{font-size:20px;font-weight:800}.pm-k b i{font-style:normal;font-size:12px;color:var(--muted)}.pm-k small{display:block;font-size:10px;color:var(--muted)}
.pm-k.bad{background:var(--high-bg);border-color:var(--high-line)}.pm-k.bad b{color:var(--high)}.pm-k.ok b{color:var(--low)}.pm-k.warn b{color:var(--med)}.pm-k.vio b{color:var(--violet)}
.pm-empty{text-align:center;padding:46px 20px}.pm-empty .i{font-size:40px;color:var(--teal)}.pm-empty p{max-width:600px;margin:6px auto 16px;color:var(--muted);line-height:1.9}
.pm-row{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:8px}.pm-row.c{justify-content:center}
.pm-bar{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:8px}
.pm-bar .wx-search{min-width:220px;flex:0 1 280px}.pm-bar select{font:inherit;font-size:12px;padding:5px 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}
.pm-chk{display:inline-flex;gap:5px;align-items:center;font-size:11.5px;padding:4px 10px;border:1px solid var(--line);border-radius:20px;cursor:pointer;background:var(--surface)}
.pm-chk.on{border-color:var(--teal);color:var(--teal)}.pm-chk.on.bad{border-color:var(--high-line);color:var(--high);background:var(--high-bg)}.pm-chk input{margin:0}
.pm-sp{margin-inline-start:auto}
.pm-zoom{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--surface)}
.pm-zoom button{border:0;background:none;padding:4px 9px;cursor:pointer;color:var(--ink);font:inherit}.pm-zoom button:hover{background:var(--hover)}.pm-zoom b{font-size:11px;padding:0 4px}
.pm-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:10.5px;color:var(--muted);margin:0 2px 6px}
.pm-legend i{display:inline-block;width:18px;height:4px;border-radius:3px;margin-inline-end:5px;vertical-align:middle}
.lg-late{background:#D64545}.lg-risk{background:#E3A32B}.lg-doing{background:#1F6FB2}.lg-review{background:#7A3FD1}.lg-done{background:#2E9B5F}.lg-todo{background:#9DB0C2}
.lg-x{background:repeating-linear-gradient(90deg,#8B6FD6 0 4px,transparent 4px 7px)}

/* اللوحة القماشية */
.pm-canvas{position:relative;overflow:auto;height:calc(100vh - 200px);min-height:480px;border:1px solid var(--line);border-radius:14px;cursor:grab;
 background:radial-gradient(circle,var(--line) 1px,transparent 1.2px) 0 0/22px 22px,var(--surface-2)}
.pm-canvas.pan{cursor:grabbing;user-select:none}
.pm-stage{position:relative;margin:0 auto}
.pm-inner{position:absolute;top:0;inset-inline-start:0;transform-origin:top left}
[dir="rtl"] .pm-inner{transform-origin:top right}
.pm-svg{position:absolute;inset:0;overflow:visible;pointer-events:none}
.pm-svg path{fill:none;stroke-width:2.6;stroke-linecap:round;opacity:.9}
.pm-svg path.pend{stroke-dasharray:1 0;opacity:.55}
.pm-svg path.hl{stroke-width:4.5;opacity:1;filter:drop-shadow(0 0 3px rgba(31,111,178,.35))}
.pm-svg .pm-xl{stroke:#8B6FD6;stroke-width:1.8;stroke-dasharray:6 5;opacity:.75}
.pm-svg .pm-xl.on{stroke-width:3;opacity:1}
.pm-svg .pm-xl.k-depends{stroke:#C77B1E}.pm-svg .pm-xl.k-mitigates{stroke:#C0392B}.pm-svg .pm-xl.k-supports{stroke:#2E9B5F}
.pm-svg .pm-xd{fill:var(--surface);stroke:#8B6FD6;stroke-width:1.5}.pm-svg .pm-xd.k-depends{stroke:#C77B1E}.pm-svg .pm-xd.k-mitigates{stroke:#C0392B}.pm-svg .pm-xd.k-supports{stroke:#2E9B5F}
.pm-svg .pm-xt{font-size:10px;text-anchor:middle;fill:var(--ink)}
.pm-root{position:absolute;width:236px;height:92px;border-radius:16px;padding:10px 14px;color:#fff;cursor:pointer;
 background:linear-gradient(135deg,var(--kc),color-mix(in srgb,var(--kc) 70%,#000));box-shadow:0 8px 24px -10px var(--kc)}
.pm-root span{font-size:10px;opacity:.85}.pm-root>b{display:block;font-size:13px;line-height:1.35;max-height:36px;overflow:hidden}
.pm-root .pm-cp{background:rgba(255,255,255,.25)}.pm-root .pm-cp i{background:#fff}.pm-root .pm-cp b,.pm-root .pm-cp span{color:#fff}

/* بطاقة العنصر */
.pm-card{position:absolute;width:236px;height:124px;border-radius:14px;background:var(--surface);border:1.5px solid var(--line);cursor:pointer;
 box-shadow:var(--sh);padding:8px 11px 0;display:flex;flex-direction:column;transition:box-shadow .15s,transform .15s,opacity .15s;overflow:visible}
.pm-card::before{content:"";position:absolute;inset-inline-start:-1.5px;top:12px;bottom:12px;width:4px;border-radius:4px;background:var(--kc)}
.pm-card:hover{box-shadow:0 10px 26px -12px rgba(16,42,63,.45);transform:translateY(-1px)}
.pm-card.on{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-soft),0 10px 26px -12px rgba(16,42,63,.45)}
.pm-card.inpath:not(.on){border-color:var(--brand-line)}
.pm-card.dim{opacity:.28}
.pm-card.h-late{border-color:#E7A3A3;background:linear-gradient(180deg,var(--high-bg),var(--surface) 70%)}
.pm-card.h-late.on{border-color:var(--high);box-shadow:0 0 0 3px var(--high-bg)}
.pm-card.s-done{background:linear-gradient(180deg,var(--low-bg),var(--surface) 70%)}
.pm-card.s-cancelled{opacity:.55;text-decoration:line-through}
.pm-card.k-goal{border-width:2px;border-color:color-mix(in srgb,var(--kc) 45%,var(--line))}
.pm-card.k-milestone .pm-ki,.pm-card.k-decision .pm-ki{color:var(--kc)}
.pm-ch{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--muted);white-space:nowrap}
.pm-ki{color:var(--kc);font-size:12px}.pm-kl{font-weight:700;color:var(--kc)}.pm-code{font-size:9.5px;background:var(--pill);padding:0 5px;border-radius:5px;color:var(--ink-soft)}
.pm-pr{margin-inline-start:auto;font-size:9.5px;font-weight:700;padding:1px 7px;border-radius:20px;background:var(--pill);color:var(--muted);white-space:nowrap}
.pm-pr.p-critical{background:var(--high-bg);color:var(--high)}.pm-pr.p-high{background:var(--med-bg);color:var(--med)}.pm-pr.p-low{background:transparent;color:var(--muted);border:1px dashed var(--line-2)}
.pm-pr.p-backup{background:var(--violet-bg);color:var(--violet)}
.pm-ct{font-size:12.5px;font-weight:700;line-height:1.4;margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--ink);min-height:35px}
.pm-cm{display:flex;align-items:center;gap:6px;margin-top:auto;font-size:10px;color:var(--muted);flex-wrap:nowrap;overflow:hidden}
.pm-av{display:inline-flex}.pm-av i{width:20px;height:20px;border-radius:50%;display:inline-grid;place-items:center;font-style:normal;font-size:9px;font-weight:700;background:var(--pill);color:var(--ink-soft);
 border:1.5px solid var(--surface);margin-inline-start:-5px}.pm-av i:first-child{margin-inline-start:0}.pm-av i.own{background:var(--teal);color:#fff}
.pm-due{font-family:var(--mono);font-size:9.5px}.h-late .pm-due{color:var(--high);font-weight:700}.h-risk .pm-due{color:var(--med);font-weight:700}
.pm-rq{padding:0 5px;border-radius:5px;background:var(--pill)}.pm-rq.ok{background:var(--low-bg);color:var(--low)}.pm-rq.w{background:var(--med-bg);color:var(--med)}
.pm-lk{color:#8B6FD6}.pm-lt{color:var(--high);font-weight:700}
.pm-cp{position:relative;height:18px;margin:6px -11px 0;border-radius:0 0 13px 13px;background:var(--pill);overflow:hidden;display:flex;align-items:center;gap:6px;padding:0 10px;font-size:9.5px}
.pm-cp i{position:absolute;inset-block:0;inset-inline-start:0;background:color-mix(in srgb,var(--teal) 22%,transparent)}
.pm-cp b,.pm-cp span{position:relative;color:var(--ink-soft)}.pm-cp span{margin-inline-start:auto}
.h-late .pm-cp i{background:color-mix(in srgb,var(--high) 25%,transparent)}.h-late .pm-cp span{color:var(--high);font-weight:700}
.s-done .pm-cp i{background:color-mix(in srgb,var(--low) 30%,transparent)}.s-done .pm-cp span{color:var(--low);font-weight:700}
.s-review .pm-cp span{color:var(--violet);font-weight:700}
.pm-fold{position:absolute;bottom:-12px;left:50%;transform:translateX(-50%);border:1px solid var(--line-2);background:var(--surface);border-radius:20px;font-size:10px;padding:0 8px;height:20px;cursor:pointer;color:var(--ink-soft);z-index:2}
.pm-plus{position:absolute;top:-10px;inset-inline-end:-10px;width:24px;height:24px;border-radius:50%;border:1px solid var(--brand-line);background:var(--surface);color:var(--teal);cursor:pointer;opacity:0;transition:opacity .15s;z-index:2}
.pm-card:hover .pm-plus{opacity:1}

/* لوحة العنصر */
.pm-drawer{position:fixed;top:0;bottom:0;inset-inline-start:0;width:min(470px,100vw);background:var(--surface);border-inline-end:1px solid var(--line);z-index:60;
 overflow:auto;box-shadow:var(--sh-modal);padding:14px 16px 30px;animation:pmIn .18s ease-out}
[dir="rtl"] .pm-drawer{inset-inline-start:auto;inset-inline-end:auto;left:0;border-inline-end:0;border-right:1px solid var(--line)}
@keyframes pmIn{from{transform:translateX(-30px);opacity:0}to{transform:none;opacity:1}}
.pm-dh{display:flex;align-items:center;gap:8px}.pm-dk{font-size:12px;font-weight:700;color:var(--kc)}.pm-dk b{color:var(--ink-soft);font-weight:600;margin-inline-start:4px}
.pm-dact{margin-inline-start:auto;display:flex;gap:5px;align-items:center}
.pm-x{border:1px solid var(--line);background:var(--surface);border-radius:8px;width:28px;height:28px;cursor:pointer;font-size:16px;color:var(--ink)}.pm-x.sm{width:22px;height:22px;font-size:12px;margin-inline-start:auto}
.pm-dpath{font-size:10.5px;color:var(--muted);margin-top:8px}.pm-dpath a{color:var(--muted)}
.pm-dt{margin:4px 0 6px;font-size:17px;line-height:1.5}.pm-dd{font-size:12.5px;line-height:1.8;color:var(--ink-soft);margin:0 0 8px}
.pm-chips{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}
.pm-st{padding:2px 9px;border-radius:20px;font-size:11px;font-weight:700;background:var(--pill);color:var(--muted)}
.pm-st.s-doing{background:var(--teal-soft);color:var(--teal)}.pm-st.s-review{background:var(--violet-bg);color:var(--violet)}.pm-st.s-done{background:var(--low-bg);color:var(--low)}
.pm-st.s-blocked{background:var(--med-bg);color:var(--med)}.pm-st.h-late{background:var(--high-bg);color:var(--high)}
.pm-hl{padding:2px 9px;border-radius:20px;font-size:11px;background:var(--pill);color:var(--ink-soft)}.pm-hl.h-late{background:var(--high);color:#fff;font-weight:700}.pm-hl.h-risk{background:var(--med-bg);color:var(--med)}
.pm-tag{display:inline-block;padding:1px 7px;border-radius:20px;font-size:10px;background:var(--pill);color:var(--ink-soft)}.pm-tag.rq{background:var(--high-bg);color:var(--high)}.pm-tag.cl{background:var(--violet-bg);color:var(--violet)}
.pm-rnote{font-size:12px;padding:7px 10px;border-radius:8px;background:var(--violet-bg);margin-bottom:8px}.pm-rnote.bad{background:var(--high-bg)}
.pm-steps{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--surface-2)}
.pm-sh{font-size:11px;font-weight:700;color:var(--muted);margin-bottom:6px}
.pm-stp{position:relative;display:flex;gap:10px;padding:6px 0 10px;cursor:pointer}
.pm-stp:not(:last-of-type)::after{content:"";position:absolute;inset-inline-start:13px;top:30px;bottom:-2px;width:2px;background:var(--line-2)}
.pm-stp.done::after{background:var(--low)}.pm-stp.late::after{background:var(--high)}
.pm-stp .dot{width:28px;height:28px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:12px;color:#fff;background:var(--kc);box-shadow:0 0 0 3px var(--surface-2)}
.pm-stp.late .dot{box-shadow:0 0 0 3px var(--high-bg),0 0 0 4px var(--high)}.pm-stp.done .dot{box-shadow:0 0 0 3px var(--low-bg)}
.pm-stp .b{flex:1;min-width:0}.pm-stp small{display:block;font-size:10px;color:var(--muted)}.pm-stp small em{font-style:normal;background:var(--teal);color:#fff;padding:0 7px;border-radius:20px;margin-inline-start:4px}
.pm-stp b{font-size:12.5px}.pm-stp .pg{display:block;height:4px;border-radius:4px;background:var(--pill);margin-top:4px;overflow:hidden}.pm-stp .pg i{display:block;height:100%;background:var(--teal)}
.pm-stp.me{cursor:default;background:var(--surface);border:1.5px solid var(--teal);border-radius:10px;padding:8px}
.pm-stp:not(.me):hover b{color:var(--teal)}
.pm-kids{display:flex;flex-wrap:wrap;gap:5px;padding-inline-start:38px}
.pm-kid{border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:3px 10px;font:inherit;font-size:11px;cursor:pointer;color:var(--ink)}
.pm-kid.done{border-color:var(--low-line);color:var(--low)}.pm-kid.late{border-color:var(--high-line);color:var(--high);background:var(--high-bg)}.pm-kid b{font-size:10px;opacity:.8}
.pm-acts2{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.pm-acts2 .ok{background:var(--low);border-color:var(--low)}.pm-acts2 .warn{color:var(--med);border-color:var(--med-line)}
.pm-dtabs{margin-top:10px}.pm-dbody{padding-top:8px}
.pm-kv{display:flex;gap:10px;padding:7px 0;border-bottom:1px dashed var(--line);font-size:12px;align-items:center}.pm-kv>span{width:110px;flex:none;color:var(--muted)}.pm-kv>b{font-weight:600;flex:1;min-width:0}
.pm-kv small{color:var(--muted);font-weight:400}.pm-kv .bad{color:var(--high);font-weight:800}.pm-kv input[type=range]{width:110px;vertical-align:middle}
.pm-pchip{display:inline-flex;align-items:center;gap:5px;padding:2px 8px 2px 3px;border-radius:20px;background:var(--pill);font-size:11.5px;margin:1px}
.pm-pchip i{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:9px;background:var(--teal);color:#fff}.pm-pchip.rv i{background:var(--violet)}
.pm-prg{display:inline-block;width:110px;height:7px;border-radius:9px;background:var(--pill);overflow:hidden;vertical-align:middle}.pm-prg i{display:block;height:100%;background:var(--teal)}.pm-prg.w{display:block;width:100%;margin:6px 0}
.pm-needs{margin-top:10px;padding:9px 11px;border-radius:9px;background:var(--med-bg);font-size:12px;line-height:1.8}.pm-needs b{display:block;color:var(--med)}
.pm-sub{font-size:10.5px;color:var(--muted);margin-top:8px}
.pm-none{font-size:11.5px;color:var(--muted);padding:6px 0}
.pm-req{border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin-bottom:8px;border-inline-start:4px solid var(--line-2)}
.pm-req.st-accepted{border-inline-start-color:var(--low)}.pm-req.st-submitted{border-inline-start-color:var(--violet)}.pm-req.st-returned{border-inline-start-color:var(--med)}.pm-req.late:not(.st-accepted){background:var(--high-bg)}
.pm-rh{display:flex;flex-wrap:wrap;gap:5px;align-items:center;font-size:12.5px}.pm-rh b{flex:1 1 100%}
.pm-req small{font-size:10.5px;color:var(--muted)}.pm-req small.bad{color:var(--high);font-weight:700}
.pm-rs{font-size:10px;font-weight:700;padding:1px 8px;border-radius:20px;background:var(--pill);color:var(--muted)}
.pm-rs.s-accepted{background:var(--low-bg);color:var(--low)}.pm-rs.s-submitted{background:var(--violet-bg);color:var(--violet)}.pm-rs.s-returned{background:var(--med-bg);color:var(--med)}
.pm-ev{font-size:11.5px;margin-top:4px;padding:5px 8px;border-radius:7px;background:var(--surface-2)}.pm-stars{color:#E3A32B;letter-spacing:1px}
.pm-f{display:flex;align-items:center;gap:6px;font-size:11.5px;padding:3px 0;flex-wrap:wrap}.pm-f small{color:var(--muted);font-size:10px}
.pm-drop{border:2px dashed var(--brand-line);border-radius:10px;padding:14px;text-align:center;cursor:pointer;background:var(--teal-soft);font-size:12px;margin-bottom:8px}
.pm-lrow{display:flex;align-items:center;gap:6px;padding:6px 0;border-bottom:1px dashed var(--line);font-size:12px;flex-wrap:wrap}.pm-lrow small{color:var(--muted)}
.pm-tag.k-depends{background:var(--med-bg);color:var(--med)}.pm-tag.k-supports{background:var(--low-bg);color:var(--low)}.pm-tag.k-mitigates{background:var(--high-bg);color:var(--high)}
.pm-cmt{display:flex;gap:6px;margin-bottom:10px}.pm-cmt textarea{flex:1;font:inherit;font-size:12px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);resize:vertical}
.pm-log{display:flex;gap:8px;padding:6px 0;border-bottom:1px dashed var(--line);font-size:12px}.pm-log .i{width:24px;height:24px;border-radius:50%;flex:none;display:grid;place-items:center;background:var(--pill);font-size:11px}
.pm-log small{color:var(--muted)}.pm-log.a-comment .i{background:var(--teal-soft);color:var(--teal)}.pm-log.a-approve .i,.pm-log.a-done .i{background:var(--low-bg);color:var(--low)}.pm-log.a-return .i{background:var(--med-bg)}

/* القائمة والجدول الزمني */
.pm-tbl{width:100%;border-collapse:collapse;font-size:12px}.pm-tbl th{background:var(--surface-2);text-align:start;padding:7px 8px;font-weight:600;color:var(--ink-soft);border-bottom:1px solid var(--line);white-space:nowrap}
.pm-tbl td{padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:middle}.pm-tbl tbody tr{cursor:pointer}.pm-tbl tbody tr:hover{background:var(--hover)}.pm-tbl tr.on{background:var(--teal-soft)}
.pm-tbl tr.h-late td:first-child{box-shadow:inset -3px 0 0 var(--high)}[dir="ltr"] .pm-tbl tr.h-late td:first-child{box-shadow:inset 3px 0 0 var(--high)}
.pm-tbl .bad{color:var(--high);font-weight:700}.pm-tbl .b{font-weight:800}.pm-tg{display:inline-block;width:14px;color:var(--muted);text-decoration:none}
.pm-gantt{display:grid;grid-template-columns:300px 1fr;padding:0;overflow:hidden}
.pm-gl{border-inline-end:1px solid var(--line);min-width:0}.pm-gh{height:30px;border-bottom:1px solid var(--line);background:var(--surface-2);font-size:11px;font-weight:700;padding:7px 10px}
.pm-gr{height:30px;display:flex;align-items:center;gap:5px;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-bottom:1px solid var(--line);cursor:pointer}
.pm-gr.h-late{color:var(--high)}.pm-gr.on{background:var(--teal-soft)}.pm-gr .b{font-weight:800}
.pm-gc{overflow-x:auto;position:relative}
.pm-gm{display:flex;height:30px;border-bottom:1px solid var(--line);background:var(--surface-2)}.pm-gm span{flex:none;font-size:10.5px;padding:7px 6px;border-inline-start:1px solid var(--line);color:var(--muted);overflow:hidden;white-space:nowrap}
.pm-grow{position:relative;height:30px;border-bottom:1px solid var(--line);cursor:pointer}.pm-grow:hover{background:var(--hover)}
.pm-gbar{position:absolute;top:8px;height:14px;border-radius:5px;background:#BFD3E6;overflow:hidden}.pm-gbar i{position:absolute;inset-block:0;inset-inline-start:0;background:var(--teal)}
.pm-gbar span{position:relative;font-size:9px;font-weight:700;padding:0 5px;color:#fff;line-height:14px}
.pm-gbar.par{height:8px;top:11px;background:#9DB0C2}.pm-gbar.par i{background:var(--ink-soft)}
.pm-gbar.h-late{background:#F2B7B7}.pm-gbar.h-late i{background:#D64545}.pm-gbar.s-done i{background:#2E9B5F}.pm-gbar.s-review i{background:#7A3FD1}
.pm-gms{position:absolute;top:8px;width:14px;height:14px;transform:rotate(45deg);background:#C98A17;border-radius:2px}.pm-gms.h-late{background:#D64545}.pm-gms.s-done{background:#2E9B5F}
.pm-today{position:absolute;top:0;bottom:0;width:2px;background:var(--high);opacity:.6;z-index:2}
/* اللوحة والأشخاص */
.pm-board{display:grid;grid-template-columns:repeat(5,minmax(200px,1fr));gap:10px;overflow-x:auto;align-items:start}
.pm-col{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:8px;min-height:120px}
.pm-colh{display:flex;justify-content:space-between;font-weight:700;font-size:12.5px;padding:2px 4px 8px}.pm-colh span{color:var(--muted)}
.pm-col.c-doing .pm-colh{color:var(--teal)}.pm-col.c-review .pm-colh{color:var(--violet)}.pm-col.c-done .pm-colh{color:var(--low)}.pm-col.c-blocked .pm-colh{color:var(--med)}
.pm-bc{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin-bottom:7px;cursor:pointer}.pm-bc:hover{border-color:var(--teal)}
.pm-bc.h-late{border-color:var(--high-line);background:var(--high-bg)}.pm-bc small{display:block;font-size:10px;color:var(--muted)}.pm-bc b{font-size:12.5px;display:block;margin:2px 0 6px}
.pm-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.pm-pc{padding:12px}.pm-ph{display:flex;gap:10px;align-items:center}.pm-ph>i{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:800;background:var(--teal);color:#fff}
.pm-ph small{display:block;font-size:11px;color:var(--muted)}.pm-ont{margin-inline-start:auto;font-weight:800;color:var(--low)}
.pm-rv{font-size:11.5px;color:var(--violet);margin:4px 0}
.pm-pt{display:flex;justify-content:space-between;gap:8px;font-size:11.5px;padding:5px 0;border-bottom:1px dashed var(--line);cursor:pointer}.pm-pt.h-late{color:var(--high);font-weight:700}
.pm-arc{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px dashed var(--line);font-size:12px}.pm-arc small{color:var(--muted)}.pm-arc .btn{margin-inline-start:auto}
.pm-pbar{display:flex;gap:6px;align-items:center;margin-bottom:8px}

/* التهيئة — محرّر القالب */
.pmc-grid{display:grid;grid-template-columns:300px 1fr;gap:12px;align-items:start}
.pmc-list .pmc-t{display:block;width:100%;text-align:start;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:9px 11px;margin-bottom:6px;cursor:pointer;font:inherit;color:var(--ink);border-inline-start:5px solid var(--tc)}
.pmc-t.on{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-soft)}.pmc-t b{display:block;font-size:12.5px}.pmc-t small{color:var(--muted);font-size:10.5px}.pmc-t.off{opacity:.55}
.pmc-tree{font-size:12px}.pmc-n{display:flex;align-items:center;gap:6px;padding:5px 6px;border-bottom:1px dashed var(--line);border-radius:6px}.pmc-n:hover{background:var(--hover)}
.pmc-n .t{flex:1;min-width:0}.pmc-n small{color:var(--muted);font-size:10.5px}.pmc-n .ac{display:flex;gap:3px;opacity:.35}.pmc-n:hover .ac{opacity:1}
.pmc-n .ac button{border:1px solid var(--line);background:var(--surface);border-radius:6px;font-size:10.5px;cursor:pointer;padding:1px 6px;color:var(--ink)}
.pmc-dur{font-family:var(--mono);font-size:10px;color:var(--muted)}

[data-theme="dark"] .pm-canvas{background:radial-gradient(circle,var(--line) 1px,transparent 1.2px) 0 0/22px 22px,var(--paper)}
[data-theme="dark"] .pm-gbar{background:#2B4B66}[data-theme="dark"] .pm-gbar.h-late{background:#5E2B2B}

@media (max-width:860px){.pm-gantt{grid-template-columns:160px 1fr}.pm-board{grid-template-columns:repeat(5,220px)}.pmc-grid{grid-template-columns:1fr}.pm-canvas{height:70vh}}
@media print{.pm-drawer,.pm-bar,.pm-legend{display:none}.pm-canvas{height:auto;overflow:visible;border:0}}

/* ===== خريطة الخطوط الرأسية (metro) ===== */
.pm-seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--surface)}
.pm-seg button{border:0;background:none;padding:4px 10px;font:inherit;font-size:11.5px;cursor:pointer;color:var(--ink-soft)}.pm-seg button.on{background:var(--teal);color:#fff}
.pm-canvas.metro{--pm-bg:#fff;background:var(--surface)}
[data-theme="dark"] .pm-canvas.metro{--pm-bg:#13202d;background:#0f1a25}
.pm-band{position:absolute;inset-inline:0;border-top:1px solid var(--line);pointer-events:none}
.pm-band.alt{background:color-mix(in srgb,var(--surface-2) 70%,transparent)}
.pm-band span{position:absolute;top:8px;font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.2px;background:var(--surface);padding:2px 10px;border:1px solid var(--line);border-radius:20px}
.pm-band span.r{right:14px}.pm-band span.l{left:14px}
[data-theme="dark"] .pm-band span{background:#13202d}
.pm-svg.metro{pointer-events:none}
.pm-svg.metro path{stroke-width:3.4;opacity:.95}
.pm-svg.metro path.pend{opacity:.5}
.pm-svg.metro path.hl{stroke-width:5.5;filter:drop-shadow(0 0 4px rgba(76,155,232,.45))}
.pm-svg.metro .pm-xl{stroke-width:1.8;stroke-dasharray:5 6;opacity:.7}
.pm-mn{pointer-events:all;cursor:pointer}
.pm-mn .dot{stroke-width:3.2;transition:r .12s}
.pm-mn .dot.todo{stroke-width:2.6}
.pm-mn:hover .dot{stroke-width:4.5}
.pm-mn .halo{fill:none;stroke-width:2;opacity:.45}
.pm-mn .dash{fill:none;stroke-width:1.4;stroke-dasharray:3 3}
.pm-mn .ic{font-size:12px;font-weight:800;text-anchor:middle;fill:var(--ink)}.pm-mn .ic.w{fill:#fff}
.pm-mn.dim,.pm-ml.dim{opacity:.25}
.pm-mn .rq{fill:var(--surface);stroke:var(--line-2);stroke-width:1}.pm-mn .rq.ok{fill:#E7F6EE;stroke:#3FB97A}.pm-mn .rq.w{fill:#FDF4E1;stroke:#E3A32B}
.pm-mn .rqt{font-size:9px;font-weight:700;fill:var(--ink-soft)}
[data-theme="dark"] .pm-mn .rq.ok{fill:#16392a}[data-theme="dark"] .pm-mn .rq.w{fill:#3d3015}
.pm-mroot{pointer-events:all;cursor:pointer}
.pm-mroot .bg{fill:var(--pm-bg)}.pm-mroot .tr{fill:none;stroke:var(--pill);stroke-width:7}.pm-mroot .pr{fill:none;stroke-width:7;stroke-linecap:round}
.pm-mroot .v{font-size:17px;font-weight:800;text-anchor:middle;fill:var(--ink)}.pm-mroot .s{font-size:9.5px;text-anchor:middle;fill:var(--muted)}
.pm-mrl{position:absolute;width:340px;text-align:center}.pm-mrl b{display:block;font-size:14px;line-height:1.5}.pm-mrl small{font-size:11px;color:var(--muted)}
.pm-ml{position:absolute;text-align:center;padding:2px 10px;cursor:pointer;border-radius:10px}
.pm-ml:hover{background:var(--hover)}.pm-ml.on{background:var(--teal-soft)}
.pm-ml .c{font-size:10px;color:var(--muted);font-weight:600}.pm-ml .c b{font-family:var(--mono);font-weight:600;color:var(--ink-soft)}
.pm-ml .t{font-size:12.5px;font-weight:700;line-height:1.45;margin-top:1px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--ink)}
.pm-ml .m{font-size:10.5px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pm-ml.h-late .st{color:var(--high);font-weight:800}.pm-ml.h-risk .st{color:var(--med);font-weight:700}.pm-ml.s-done .st{color:var(--low);font-weight:700}.pm-ml.s-review .st{color:var(--violet);font-weight:700}
.pm-ml .b{display:flex;justify-content:center;align-items:center;gap:5px;margin-top:4px}.pm-ml .b .pm-pr{margin:0}
.pm-ml .pg{font-size:9.5px;font-weight:700;color:var(--teal)}
.pm-mfold{border:1px solid var(--line-2);background:var(--surface);border-radius:20px;font-size:10px;padding:0 8px;height:18px;cursor:pointer;color:var(--ink-soft);margin-top:4px}
.pm-mplus{position:absolute;top:-36px;inset-inline-end:44px;width:20px;height:20px;border-radius:50%;border:1px solid var(--brand-line);background:var(--surface);color:var(--teal);cursor:pointer;opacity:0;font-size:12px;line-height:1}
.pm-ml:hover .pm-mplus{opacity:1}
.pm-svg text{direction:ltr;unicode-bidi:isolate}
