/* ============================================================
   ريفاي فلو — خدمات الموظفين: الإجازات · تذاكر الدعم
   ============================================================ */
.tabs a.tabl{padding:8px 14px;font-weight:700;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;display:flex;gap:6px;align-items:center;text-decoration:none}
.tabs a.tabl.on{color:var(--accent);border-color:var(--accent)}
.btn.flip svg{transform:scaleX(-1)} html[dir="ltr"] .btn.flip svg{transform:none} html[dir="ltr"] .seg a:first-child svg{transform:scaleX(-1)}
.lv-dot{display:inline-block;width:9px;height:9px;border-radius:50%;vertical-align:1px;flex:none}
.lv-dot.pend{background:repeating-linear-gradient(45deg,#c9b8e8 0 3px,#fff 3px 6px);border:1px solid #c9b8e8}
.lv-h{display:flex;align-items:center;gap:8px;font-size:15px;margin:18px 0 10px}

/* ---- البطل: الرصيد وأقرب إجازة ---- */
.lv-hero{display:flex;align-items:center;gap:22px;flex-wrap:wrap;background:linear-gradient(135deg,#5400A8 0%,#7a2fd6 60%,#9c6ae6 100%);color:#fff;border-radius:20px;padding:20px 24px;margin-bottom:14px;position:relative;overflow:hidden}
.lv-hero::after{content:'';position:absolute;inset-inline-end:-50px;top:-70px;width:230px;height:230px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 70%);pointer-events:none}
.lv-ring{--p:0;width:118px;height:118px;border-radius:50%;flex:none;display:grid;place-items:center;background:conic-gradient(#f4d98a calc(var(--p) * 1%),rgba(255,255,255,.2) 0);position:relative;z-index:1}
.lv-ring > div{width:94px;height:94px;border-radius:50%;background:#6a1cc4;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.lv-ring b{font-size:30px;line-height:1} .lv-ring small{font-size:11px;opacity:.85}
.lv-hl{flex:1;min-width:220px;position:relative;z-index:1}
.lv-hl .kick{display:inline-flex;align-items:center;gap:6px;font-size:13px;opacity:.9;font-weight:600}
.lv-hl h2{margin:4px 0;font-size:21px;color:#fff}
.lv-hl .sub{font-size:13.5px;opacity:.92;margin-bottom:12px}
.lv-hero .btn.xl{background:#fff;color:var(--accent);box-shadow:0 6px 18px rgba(0,0,0,.15)}
.lv-alert{display:flex;align-items:center;gap:8px;background:var(--amber-soft);color:#8a5a00;border-radius:12px;padding:10px 14px;margin-bottom:12px;font-weight:700;text-decoration:none}
.lv-alert svg:last-child{margin-inline-start:auto;transform:scaleX(-1)} html[dir="ltr"] .lv-alert svg:last-child{transform:none}

/* ---- الأرصدة ---- */
.lv-bals{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 8px;scroll-snap-type:x proximity;scrollbar-width:thin}
.lv-bal{flex:0 0 150px;scroll-snap-align:start;background:#fff;border:0;border-top:3px solid var(--c);border-radius:14px;box-shadow:var(--shadow);padding:10px 12px;text-align:start;cursor:pointer;font:inherit;color:var(--ink);display:flex;flex-direction:column;gap:3px;transition:transform .15s,box-shadow .15s}
.lv-bal:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.lv-bal .n{font-size:12.5px;font-weight:700;color:var(--muted);display:flex;align-items:center;gap:5px}
.lv-bal b{font-size:24px;line-height:1.15} .lv-bal b small{font-size:13px;color:var(--muted)}
.lv-bal .bar{display:block;height:5px;border-radius:999px;background:var(--line);overflow:hidden} .lv-bal .bar em{display:block;height:100%;background:var(--c);border-radius:999px}
.lv-bal > small{font-size:11px;color:var(--muted)}

/* ---- بطاقة طلب ---- */
.lv-list{display:flex;flex-direction:column;gap:8px}
.lv-card{display:flex;align-items:center;gap:12px;background:#fff;border-radius:14px;box-shadow:var(--shadow);padding:10px 14px;border-inline-start:4px solid var(--c);color:var(--ink);text-decoration:none}
.lv-card:hover{background:var(--hover)} .lv-card.static{cursor:default}
.lv-card .body{flex:1;min-width:0} .lv-card .ttl{font-weight:700} .lv-card .sub{color:var(--muted);font-size:12.5px}
.lv-cal{width:48px;flex:none;text-align:center;border-radius:12px;background:var(--bg);padding:4px 0;line-height:1.1}
.lv-cal b{display:block;font-size:20px;color:var(--c)} .lv-cal small{font-size:10.5px;color:var(--muted)}

/* ---- مراحل الاعتماد ---- */
.lv-steps{display:flex;align-items:flex-start;margin:10px 0 4px;counter-reset:s}
.lv-steps .st{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;min-width:0}
.lv-steps .st::before{content:'';position:absolute;top:10px;inset-inline-start:-50%;width:100%;height:2px;background:var(--line);z-index:0}
.lv-steps .st:first-child::before{display:none}
.lv-steps .st.ok::before,.lv-steps .st.now::before,.lv-steps .st.bad::before{background:var(--accent)}
.lv-steps i{width:22px;height:22px;border-radius:50%;background:#fff;border:2px solid var(--line);display:grid;place-items:center;position:relative;z-index:1;color:#fff}
.lv-steps .ok i{background:var(--green);border-color:var(--green)} .lv-steps .bad i{background:var(--red);border-color:var(--red)}
.lv-steps .now i{border-color:var(--amber);background:var(--amber-soft);animation:lvnow 1.6s ease-in-out infinite}
@keyframes lvnow{50%{box-shadow:0 0 0 5px rgba(201,138,18,.18)}}
.lv-steps b{font-size:11.5px;margin-top:3px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%} .lv-steps .ok b,.lv-steps .now b{color:var(--ink)}
.lv-steps small{font-size:10.5px;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.lv-card .lv-steps{margin:6px 0 0;max-width:420px} .lv-card .lv-steps small{display:none}

/* ---- التفاصيل ---- */
.lv-dh{border-top:4px solid var(--c)} .lv-dhh{display:flex;align-items:center;gap:12px} .lv-dhh > div{flex:1}
.lv-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin:12px 0}
.lv-facts > div{background:var(--bg);border-radius:12px;padding:8px 10px} .lv-facts small{display:block;color:var(--muted);font-size:11.5px;font-weight:700} .lv-facts b{font-size:14px} .lv-facts b.red{color:var(--red)}
.lv-note{background:var(--bg);border-radius:12px;padding:8px 12px;margin-top:8px;font-size:13.5px} .lv-note b{display:inline-flex;align-items:center;gap:4px;margin-inline-end:6px} .lv-note.bad{background:var(--red-soft);color:#8f2d2d}
.lv-reason{background:var(--bg);border-radius:10px;padding:8px 12px;font-size:13.5px;margin-bottom:8px}

/* ---- الطلب الجديد ---- */
.lv-types{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:6px;margin-bottom:12px}
.lv-types button{border:1.5px solid var(--line);background:#fff;border-radius:12px;padding:8px;display:flex;flex-direction:column;align-items:flex-start;gap:1px;cursor:pointer;font:inherit;text-align:start;color:var(--ink)}
.lv-types button b{font-size:13px;display:flex;align-items:center;gap:5px} .lv-types button small{font-size:11px;color:var(--muted)}
.lv-types button .lv-dot{display:none} .lv-types button b::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--c)}
.lv-types button.on{border-color:var(--c);background:color-mix(in srgb,var(--c) 8%,#fff);box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 14%,transparent)}
.lv-quick{display:flex;gap:6px;flex-wrap:wrap;margin:-4px 0 10px}
.lv-prev{background:var(--accent-soft);color:var(--accent-ink);border-radius:12px;padding:10px 12px;margin-bottom:12px;font-size:13.5px;display:flex;flex-direction:column;gap:3px;min-height:48px}
.lv-prev .big b{font-size:22px} .lv-prev .big small{color:var(--muted)}
.lv-prev .warn{color:#8a5a00;background:var(--amber-soft);border-radius:8px;padding:4px 8px;margin-top:4px}
.lv-prev.bad{background:var(--red-soft);color:#8f2d2d}
.lv-att label{display:flex;flex-wrap:wrap;gap:6px;align-items:center}

/* ---- الموافقات ---- */
.lv-q{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:12px}
.lv-qc{margin:0!important;border-top:4px solid var(--c);display:flex;flex-direction:column}
.lv-qc .hd{display:flex;align-items:center;gap:10px} .lv-qc .hd > div{flex:1;min-width:0}
.lv-qc .foot{display:flex;gap:6px;align-items:center;margin-top:12px;padding-top:10px;border-top:1px dashed var(--line);flex-wrap:wrap}
.chip.warn{background:var(--amber-soft);color:#8a5a00}

/* ---- التقويم الزمني ---- */
.lv-tl{background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow);overflow-x:auto;-webkit-overflow-scrolling:touch}
.lv-tl table{border-collapse:separate;border-spacing:0;font-size:12px;min-width:max-content}
.lv-tl th,.lv-tl td{padding:0;border-bottom:1px solid var(--line);text-align:center;width:30px;min-width:30px;height:40px;cursor:default}
.lv-tl th{height:44px;font-weight:700;color:var(--muted);background:#fafafc;line-height:1.1} .lv-tl th small{display:block;font-size:9.5px;color:var(--faint)}
.lv-tl .nm{position:sticky;inset-inline-start:0;background:#fff;z-index:2;min-width:150px;width:150px;text-align:start;padding:0 10px;white-space:nowrap;border-inline-end:1px solid var(--line);font-weight:700;overflow:hidden;text-overflow:ellipsis}
.lv-tl th.nm{background:#fafafc}
.lv-tl .nm .avatar{width:24px;height:24px;font-size:10px;vertical-align:middle;margin-inline-end:4px}
.lv-tl .off{background:repeating-linear-gradient(135deg,#f7f6fa 0 4px,#fff 4px 8px)}
.lv-tl th.off{background:#f1eff5}
.lv-tl .td{box-shadow:inset 0 0 0 1px var(--accent);background:#faf6ff} .lv-tl th.td{color:var(--accent)}
.lv-tl tbody tr:hover td{background-color:transparent} .lv-tl tbody tr{cursor:default}
.lvb{display:block;height:18px;background:var(--c);margin:0 -1px;opacity:.9}
.lvb.s{margin-inline-start:4px;border-start-start-radius:9px;border-end-start-radius:9px} .lvb.e{margin-inline-end:4px;border-start-end-radius:9px;border-end-end-radius:9px}
.lvb.pend{background:repeating-linear-gradient(45deg,var(--c) 0 4px,color-mix(in srgb,var(--c) 35%,#fff) 4px 8px);opacity:.75}
a.lvb:hover{opacity:1;filter:brightness(1.1)}
.lv-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin:8px 2px 0} .lv-legend span{display:inline-flex;align-items:center;gap:5px}

/* ---- الأرصدة والسياسة ---- */
.lv-cell{border:1px solid var(--line);background:#fff;border-radius:10px;padding:3px 10px;cursor:pointer;font:inherit;display:inline-flex;align-items:baseline;gap:3px;color:var(--ink)}
.lv-cell b{font-size:15px} .lv-cell small{color:var(--muted);font-size:11px}
.lv-cell:hover{border-color:var(--accent)} .lv-cell.adj{border-color:var(--gold);background:var(--gold-soft)} .lv-cell.neg b{color:var(--red)}
.lv-flows{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;margin-bottom:8px}
.lv-flows label{border:1.5px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer;display:flex;flex-direction:column;gap:2px;color:var(--ink);margin:0;position:relative}
.lv-flows label input{position:absolute;opacity:0} .lv-flows label b{font-size:14px} .lv-flows label small{color:var(--muted);font-weight:500;font-size:12px}
.lv-flows label.on{border-color:var(--accent);background:var(--accent-soft)}
.lv-types-t td{vertical-align:middle} .lv-types-t input[type=checkbox]{width:18px;height:18px} .lv-types-t input[name=name]{min-width:120px} .lv-types-t tbody tr{cursor:default}

/* ============ التذاكر ============ */
.tk-start{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-bottom:16px}
.tk-cat{background:#fff;border:0;border-radius:16px;box-shadow:var(--shadow);padding:14px 12px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;cursor:pointer;font:inherit;text-align:start;color:var(--ink);transition:transform .15s,box-shadow .15s}
.tk-cat:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.tk-cat .i{width:40px;height:40px;border-radius:12px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;margin-bottom:4px}
.tk-cat:nth-child(2) .i{background:var(--red-soft);color:var(--red)} .tk-cat:nth-child(3) .i,.tk-cat:nth-child(4) .i{background:var(--gold-soft);color:#7a6520} .tk-cat:nth-child(5) .i{background:var(--blue-soft);color:var(--blue)} .tk-cat:nth-child(6) .i{background:var(--green-soft);color:var(--green)}
.tk-cat b{font-size:14px} .tk-cat small{color:var(--muted);font-size:11.5px;line-height:1.45}
.tk-list{display:flex;flex-direction:column;gap:8px}
.tk-row{display:flex;align-items:center;gap:12px;background:#fff;border-radius:14px;box-shadow:var(--shadow);padding:10px 14px;color:var(--ink);text-decoration:none;border-inline-start:4px solid transparent}
.tk-row:hover{background:var(--hover)} .tk-row.st-new{border-color:var(--blue)} .tk-row.wait{border-color:var(--amber);background:#fffcf4} .tk-row.st-closed,.tk-row.st-resolved{opacity:.8}
.tk-row .body{flex:1;min-width:0} .tk-row .ttl{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .tk-row .sub{color:var(--muted);font-size:12.5px}
.tk-row .sub svg{width:12px;height:12px;vertical-align:-2px}
.tk-ic{width:38px;height:38px;border-radius:12px;background:var(--bg);color:var(--accent);display:grid;place-items:center;flex:none}
.tk-lock{color:var(--red);margin-inline-end:4px}
.tk-stars{display:inline-flex;gap:1px;color:var(--faint)} .tk-stars i{display:inline-flex} .tk-stars i.on{color:#e0a800} .tk-stars i.on svg{fill:currentColor}
.tk-stars.sm svg{width:12px;height:12px}
.tk-seg{overflow-x:auto;max-width:100%;scrollbar-width:none} .tk-seg button{white-space:nowrap}
.tk-cats{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.tk-cats button{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;cursor:pointer;font:inherit;font-weight:700;font-size:13px;display:inline-flex;align-items:center;gap:5px;color:var(--ink)}
.tk-cats button.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}
.tk-conf{display:flex;gap:10px;align-items:flex-start;background:var(--bg);border-radius:12px;padding:10px 12px;font-weight:500;color:var(--ink);font-size:13px;cursor:pointer;margin:4px 0 0}
.tk-conf input{width:18px;height:18px;margin:2px 0 0;flex:none}
/* المحادثة */
.tk-thread{display:flex;flex-direction:column;gap:10px}
.tk-msg{display:flex;gap:10px;align-items:flex-start;max-width:88%}
.tk-msg .b{background:var(--bg);border-radius:4px 16px 16px 16px;padding:8px 12px;min-width:0}
html[dir="rtl"] .tk-msg .b{border-radius:16px 4px 16px 16px}
.tk-msg .h{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px} .tk-msg .h time{color:var(--faint);font-size:11px;margin-inline-start:auto}
.tk-msg .desc{font-size:14px;margin-top:2px;word-break:break-word}
.tk-msg.staff .b{background:var(--accent-soft)}
.tk-msg.me{align-self:flex-end;flex-direction:row-reverse} .tk-msg.me .b{background:#f1f7ff}
.tk-msg.internal .b{background:repeating-linear-gradient(135deg,#fff8e6 0 8px,#fff4d6 8px 16px);border:1px dashed #e8c77a}
.tk-msg.first .b{background:#fff;border:1px solid var(--line)}
.tk-ev{align-self:center;font-size:12px;color:var(--muted);background:var(--bg);border-radius:999px;padding:3px 12px;display:inline-flex;align-items:center;gap:5px;max-width:100%;text-align:center}
.tk-ev time{color:var(--faint)}
.tk-compose{border-top:1px solid var(--line);padding-top:10px;margin-top:4px}
.tk-compose textarea{min-height:70px}
.tk-compose .bar{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px}
.tk-rate{align-self:center;text-align:center;background:linear-gradient(135deg,#fffaf0,#fff);border:1px solid #f1e2b8;border-radius:16px;padding:12px 18px}
.tk-stars.pick{gap:4px;margin-top:6px} .tk-stars.pick button{border:0;background:none;cursor:pointer;color:var(--faint);padding:2px;transition:transform .12s}
.tk-stars.pick button:hover{transform:scale(1.15)} .tk-stars.pick button.on{color:#e0a800} .tk-stars.pick button.on svg{fill:currentColor}
.tk-rated{align-self:center;display:flex;gap:8px;align-items:center;color:var(--muted);font-size:13px}

@media (max-width:640px){
  .lv-hero{padding:16px;gap:14px;border-radius:16px} .lv-ring{width:96px;height:96px} .lv-ring > div{width:76px;height:76px} .lv-ring b{font-size:24px}
  .lv-hl h2{font-size:18px} .lv-hero .btn.xl{width:100%;justify-content:center}
  .lv-bal{flex-basis:128px}
  .lv-q{grid-template-columns:1fr} .lv-qc .foot .btn{flex:1;justify-content:center} .lv-qc .foot > span{display:none}
  .lv-tl .nm{min-width:110px;width:110px} .lv-tl .nm span{font-size:11.5px}
  .tk-start{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px} .tk-cat{padding:9px 10px;flex-direction:row;align-items:center;gap:8px} .tk-cat .i{width:34px;height:34px;margin:0;flex:none} .tk-cat b{font-size:13px;line-height:1.3} .tk-cat small{display:none}
  .tk-msg{max-width:100%} .tk-row{flex-wrap:wrap} .tk-row .body{flex-basis:calc(100% - 52px)}
}

/* زر حذف المرفق لصاحبه */
.filerow .fdel{width:28px;height:28px;margin-inline-start:8px;flex:none}

/* ============ الشات والمجموعات ============ */
.chat-grid{display:grid;grid-template-columns:330px minmax(0,1fr);gap:14px;align-items:start} .chat-grid.m{grid-template-columns:1fr}
.cv-list{padding:10px!important;position:sticky;top:calc(var(--topbar) + 12px)}
.cv-seg{display:flex;overflow-x:auto;scrollbar-width:none;width:100%;margin-bottom:8px} .cv-seg button{white-space:nowrap;flex:1;justify-content:center;font-size:12.5px}
.cv-q{margin-bottom:8px;background:var(--field);border-color:transparent}
#cvl{max-height:calc(100vh - 260px);overflow:auto}
.cv-item.on{background:var(--accent-soft)} .cv-ic.dept{background:var(--gold-soft);color:#7a6520} .cv-ic.project{background:var(--blue-soft);color:var(--blue)} .cv-ic.group{background:var(--accent);color:#fff}
.chat-thread{display:flex;flex-direction:column;height:calc(100vh - var(--topbar) - 120px);min-height:440px;padding:0!important;overflow:hidden}
.ct-head{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line)}
.ct-head .ct-t{flex:1;min-width:0;cursor:pointer} .ct-head .ct-t b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .ct-head .avstack .avatar{width:20px;height:20px;font-size:9px}
.ct-back{display:none}
.ct-descr{padding:6px 14px;font-size:12.5px;color:var(--muted);background:var(--bg);border-bottom:1px solid var(--line)}
.ct-pins{display:flex;align-items:center;gap:6px;padding:7px 14px;background:var(--gold-soft);border-bottom:1px solid #eee2bd;font-size:13px;color:#7a6520} .ct-pins a{color:inherit;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ct-msgs{flex:1;overflow:auto;padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.msg{display:flex;gap:8px;align-items:flex-end} .msg.mine{flex-direction:row-reverse}
.msg .bub{max-width:78%;background:var(--field);border-radius:14px;padding:7px 12px;position:relative;transition:box-shadow .3s}
.msg.mine .bub{background:var(--accent-soft)} .msg.pinned .bub{box-shadow:inset 0 0 0 1.5px var(--gold)}
.msg.flash .bub{box-shadow:0 0 0 3px var(--accent)}
.msg .who-n{font-size:12.5px;color:var(--accent)} .msg .desc{font-size:14px;word-break:break-word}
.msg .mention{color:var(--accent)}
.msg .quote{display:block;border-inline-start:3px solid var(--accent);background:rgba(255,255,255,.6);border-radius:6px;padding:3px 8px;margin:3px 0 4px;font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%} .msg .quote b{display:block;color:var(--accent);font-size:11.5px}
.msg .mfoot{display:flex;gap:10px;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);margin-top:2px}
.msg .macts{display:flex;gap:8px;opacity:0;transition:opacity .15s} .msg:hover .macts{opacity:1} .msg .macts a{color:var(--muted)} .msg .macts a:hover{color:var(--accent)}
@media (hover:none){.msg .macts{opacity:1}}
.ct-ev{align-self:center;font-size:11.5px;color:var(--muted);background:var(--bg);border-radius:999px;padding:3px 12px;max-width:92%;text-align:center}
.ct-foot{border-top:1px solid var(--line);padding:10px 12px;position:relative}
.ct-reply{display:flex;align-items:center;gap:8px;background:var(--accent-soft);border-radius:10px;padding:6px 10px;margin-bottom:8px;font-size:12.5px} .ct-reply span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .ct-reply a{color:var(--muted)}
.mention-pop{position:absolute;bottom:calc(100% - 4px);inset-inline:12px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);padding:4px;z-index:20;max-height:260px;overflow:auto}
.mention-pop button{display:flex;align-items:center;gap:8px;width:100%;border:0;background:none;padding:6px 8px;border-radius:8px;cursor:pointer;font:inherit;text-align:start;color:var(--ink)} .mention-pop button:hover{background:var(--hover)} .mention-pop small{color:var(--muted)} .mention-pop .avatar{width:26px;height:26px;font-size:11px}
.gp-q{margin-bottom:6px}
.gp-list{max-height:240px;overflow:auto;border:1px solid var(--line);border-radius:12px;padding:4px}
.gp-u{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:9px;cursor:pointer;margin:0;font-weight:500;color:var(--ink)} .gp-u:hover{background:var(--hover)} .gp-u:has(input:checked){background:var(--accent-soft)}
.gp-u input{width:17px;height:17px;margin:0;flex:none} .gp-u span{display:flex;flex-direction:column;line-height:1.3} .gp-u small{color:var(--muted);font-size:11.5px}
.gp-count{margin-top:4px}
.gp-colors{display:flex;gap:8px;margin-bottom:12px} .gp-colors label{margin:0;cursor:pointer} .gp-colors input{position:absolute;opacity:0} .gp-colors i{display:block;width:26px;height:26px;border-radius:50%;box-shadow:0 0 0 2px #fff,0 0 0 3px transparent} .gp-colors input:checked + i{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--ink)}
.gi-row .btn.sm{white-space:nowrap}
@media (max-width:900px){.ct-back{display:inline-flex} .chat-thread{height:calc(100dvh - var(--topbar) - var(--bottomnav) - 44px - env(safe-area-inset-top) - env(safe-area-inset-bottom));min-height:360px} .cv-list{position:static} #cvl{max-height:none}}

/* ---- الدوام المرن ---- */
.flexbar{margin-top:10px;text-align:start}
.flexbar .fb-head{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px;margin-bottom:5px}
.flexbar .progress{height:8px}
.flexbar .fb-ses{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}
.flexbar .chip.live{background:var(--amber-soft);color:#8a5a00} .flexbar .chip.ok{background:#e7f8ee;color:#16803c}
.flexbar.on-hero{background:rgba(255,255,255,.14);border-radius:14px;padding:10px 12px;margin-top:12px}
.flexbar.on-hero .fb-head,.flexbar.on-hero .chip{color:#fff} .flexbar.on-hero .chip{background:rgba(255,255,255,.2)}
.flexbar.on-hero .progress{background:rgba(255,255,255,.25)} .flexbar.on-hero .progress i{background:#f4d98a}
.shifts tr .pflex{display:none} .shifts tr.flex .pflex{display:inline-flex;align-items:center;gap:6px} .shifts tr.flex .p1{display:none}
.shifts tr.flex td.p2{opacity:.25;pointer-events:none}

/* ---- لوحة الاستخدام ---- */
.uscore{--p:0;--c:var(--accent);display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:conic-gradient(var(--c) calc(var(--p) * 1%),var(--line) 0);font-size:0}
.uscore b{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#fff;font-size:12.5px;color:var(--ink)}
.umods{display:flex;flex-direction:column;gap:7px}
.umod{display:flex;align-items:center;gap:8px;font-size:13.5px}
.umod .i{width:28px;height:28px;border-radius:9px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;flex:none}
.umod b{min-width:110px} .umod .bar{flex:1;height:6px;border-radius:999px;background:var(--line);overflow:hidden} .umod .bar em{display:block;height:100%;background:var(--accent);border-radius:999px}
.umod .n{min-width:74px;text-align:end;font-weight:700} .umod .n small{color:var(--muted);font-weight:500;font-size:11px}

/* ---------- غرفة القيادة ---------- */
.needs{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:10px;margin-bottom:12px}
.need{background:#fff;border:1px solid var(--line);border-inline-start:3px solid var(--amber);border-radius:var(--r);padding:11px 13px}
.need .nh{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}
.need .nh b{font-size:13.5px} .need .nh .n{background:var(--amber-soft);color:var(--amber);border-radius:999px;font-weight:800;font-size:12px;padding:1px 9px}
.need .np{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:9px} .need .np .chip{cursor:default;font-size:11.5px;padding:2px 8px}
.need .np .chip .avatar{width:18px;height:18px;font-size:9px}
.need .na{display:flex;gap:6px}
.note.ok{background:var(--green-soft);color:#1d6b45;margin-bottom:12px}
.qrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:0 0 6px}
.qlink{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:10px 12px;color:var(--muted);font-size:12.5px}
.qlink b{font-size:18px;color:var(--ink)} .qlink svg{color:var(--faint)}
.qlink.on{border-color:#e6cfa0;background:#fffdf7} .qlink.on svg,.qlink.on b{color:var(--amber)}
.qlink:hover{border-color:var(--accent);box-shadow:0 2px 10px rgba(84,0,168,.07)}
.mini-bar{height:6px;border-radius:999px;background:var(--line);overflow:hidden;max-width:120px;margin-bottom:3px}
.mini-bar i{display:block;height:100%;background:var(--accent);border-radius:999px}
.mini-bar.met i{background:var(--green)} .mini-bar.live i{background:var(--amber)}
.dot-on{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);margin-inline-start:5px;vertical-align:middle;box-shadow:0 0 0 3px var(--green-soft)}
.chip.sm{font-size:11px;padding:1px 7px} .red{color:var(--red)}
.alert-to{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px;max-height:110px;overflow:auto}
.alert-to .chip .avatar{width:18px;height:18px;font-size:9px}
/* حذف مستلم من نافذة التواصل: ✕ داخل الشريحة نفسها */
.alert-to .chip{gap:5px;padding-inline-end:4px}
.alert-to .chip .x{border:0;background:transparent;cursor:pointer;color:var(--muted);display:grid;place-items:center;padding:2px;border-radius:50%;line-height:0}
.alert-to .chip .x:hover{background:var(--red-soft);color:var(--red)}
.alert-to .chip.light{cursor:pointer;color:var(--accent);border-style:dashed}
.al-banner{display:flex;align-items:center;gap:11px;background:var(--amber-soft);border:1px solid #e9d6a8;border-radius:var(--r);padding:11px 13px;margin-bottom:12px;font-size:13.5px;color:#7a5200}
.al-banner b{display:block;font-size:14px;color:#5e3f00} .al-banner .btn{margin-inline-start:auto;flex:none} .al-banner .btn+.btn{margin-inline-start:6px}
.alerts .item.unread{border-inline-start:3px solid var(--amber)}
.alerts .ack{display:flex;gap:7px;margin-top:9px;max-width:460px} .alerts .ack input{font-size:13px}
/* شريط الإدارة أعلى «اليوم» */
.bstrip{padding:12px 14px}
.bs-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px} .bs-head b{display:flex;align-items:center;gap:7px;font-size:14.5px}
.bs-n{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.bs-n a{background:var(--field);border-radius:12px;padding:9px 10px;text-align:center;color:var(--muted);font-size:11.5px;line-height:1.35}
.bs-n a b{display:block;font-size:20px;font-weight:800;color:var(--ink)}
.bs-n a:hover{background:var(--hover)}
.bs-n a.green b{color:var(--green)} .bs-n a.red b{color:var(--red)} .bs-n a.amber b{color:var(--amber)}
.bs-needs{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.bs-needs button{display:inline-flex;align-items:center;gap:6px;background:#fffdf7;border:1px solid #e9d6a8;color:#7a5200;border-radius:999px;padding:5px 11px;font:inherit;font-size:12.5px;cursor:pointer}
.bs-needs button:hover{background:var(--amber-soft)} .bs-needs button b{background:var(--amber);color:#fff;border-radius:999px;padding:0 7px;font-size:11px}
.bs-needs button i{display:inline-flex;color:var(--amber)}
@media(max-width:1024px){.bs-n{grid-template-columns:repeat(3,1fr)} .needs{grid-template-columns:1fr}}
@media(max-width:560px){.bs-n{grid-template-columns:repeat(2,1fr)} .al-banner{flex-wrap:wrap} .al-banner .btn{margin-inline-start:0;width:100%;justify-content:center}}
/* استثناءات دوام الموظفين: كل نمط يُظهر حقوله فقط */
#userShiftF tr .tpair{display:none;align-items:center;gap:6px}
#userShiftF tr.fixed .p1,#userShiftF tr.split .p1,#userShiftF tr.split .p2,#userShiftF tr.flex .pflex{display:inline-flex}
#userShiftF tr.dept td:last-child::after{content:'يتبع جدول قسمه';color:var(--muted);font-size:12.5px}
#userShiftF .seg button{font-size:12px;padding:5px 9px}

/* ---------- غرفة القيادة v2: الفلاتر · الأعمدة · الأقسام · التقرير · التوجيهات ---------- */
.fbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:8px 10px;margin-bottom:12px}
.fbar label{display:inline-flex;align-items:center;gap:6px;margin:0;color:var(--muted);font-weight:600}
.fbar select,.fbar input[type=date]{width:auto;padding:5px 9px;font-size:13px}
.fbar input[type=search]{width:190px;padding:5px 10px;font-size:13px}
.fbar .range span{font-size:12px}
.fbar .fsp{flex:1}
.fbar .seg button{font-size:12px;padding:5px 9px}
.wa-list{display:flex;flex-wrap:wrap;gap:6px}
.chans .chip{cursor:pointer;padding:4px 10px} .chans input{width:15px;height:15px;margin:0}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pct{font-weight:800} .pct.g{color:var(--green)} .pct.a{color:var(--amber)} .pct.r{color:var(--red)}
.dl{font-size:12px;font-weight:700;margin-inline-start:6px} .dl.up{color:var(--green)} .dl.dn{color:var(--red)} .dl.eq{color:var(--muted)}
details.weights{margin-bottom:12px} details.weights summary{cursor:pointer;font-weight:700}
/* أعمدة زمنية: ≤٢٤px · طرف مدوّر ٤px · فجوة ٢px · خط أساس رفيع */
.colchart{position:relative;margin-top:6px}
.cc-plot{display:flex;align-items:flex-end;gap:2px;height:130px;border-bottom:1px solid var(--line);padding-top:18px}
.cc-col{flex:1;max-width:24px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;position:relative;cursor:default;outline:0}
.cc-col i{display:block;width:100%;border-radius:4px 4px 0 0;min-height:2px;transition:opacity .15s}
.cc-col.off i{opacity:.35}
.cc-col:hover i,.cc-col:focus i{opacity:.75}
.cc-peak{position:absolute;top:-2px;font-size:11px;font-weight:700;color:var(--ink);transform:translateY(-100%)}
.cc-axis{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:4px}
.cc-tip{position:absolute;transform:translateX(-50%);background:var(--ink);color:#fff;font-size:12px;padding:4px 9px;border-radius:8px;white-space:nowrap;pointer-events:none;z-index:5}
.charts .card,.brief .card,.colchart{position:relative}
/* الأقسام */
.deptgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px;margin-bottom:14px}
.deptcard{border-top:3px solid var(--line)} .deptcard.good{border-top-color:var(--green)} .deptcard.ok{border-top-color:var(--amber)} .deptcard.low{border-top-color:var(--red)}
.deptcard .dh{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px} .deptcard .dh b{display:block;font-size:15px}
.deptcard .dm{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;margin-bottom:8px} .deptcard .dm div{display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}
.deptcard .df{display:flex;flex-wrap:wrap;gap:5px;min-height:22px;margin-bottom:8px}
.deptcard .da{display:flex;justify-content:space-between;align-items:center;gap:8px}
/* التقرير التنفيذي */
.brief .br-head{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;border-bottom:2px solid var(--accent);padding-bottom:8px;margin-bottom:12px}
.brief .br-head b{display:block;font-size:17px;color:var(--accent)} .brief .br-head span{color:var(--muted);font-size:13px}
.br-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:12px}
.br-kpis div{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:10px 12px}
.br-kpis span{display:block;color:var(--muted);font-size:12px} .br-kpis b{font-size:22px;font-weight:800}
.br-foot{text-align:center;margin-top:10px}
.dir-steps{display:flex;gap:4px} .dir-steps span{flex:1;text-align:center;font-size:12px;padding:6px 4px;border-radius:8px;background:var(--field);color:var(--muted)} .dir-steps span.on{background:var(--accent-soft);color:var(--accent);font-weight:700}
@media(max-width:1024px){.br-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.br-kpis{grid-template-columns:repeat(2,1fr)} .row2{grid-template-columns:1fr} .fbar input[type=search]{width:100%} .fbar .range{flex-wrap:wrap} .cc-plot{height:100px}}
@media print{body.print-brief .sidebar,body.print-brief .topbar,body.print-brief .bottomnav,body.print-brief .page-head .actions,body.print-brief .fbar,body.print-brief footer,body.print-brief .envbar,body.print-brief .collapse,body.print-brief .fab{display:none!important} body.print-brief .main,body.print-brief #view{margin:0!important;padding:0!important} body.print-brief .card{break-inside:avoid;box-shadow:none}}
.fbar .pres{display:flex;flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:none} .fbar .pres::-webkit-scrollbar{display:none} .fbar .pres button{white-space:nowrap;flex:none}

/* ---------- إعلانات الإدارة ---------- */
.ngrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.ngrid.home{margin-bottom:12px}
.ncard{display:block;background:#fff;border:1px solid var(--line);border-inline-start:4px solid var(--accent);border-radius:var(--r);padding:12px 14px;transition:box-shadow .15s,transform .15s}
.ncard:hover{box-shadow:0 4px 16px rgba(84,0,168,.08);transform:translateY(-1px)}
.ncard.unread{background:linear-gradient(180deg,#fbf8ff,#fff)}
.ncard .nh{display:flex;align-items:center;gap:6px;margin-bottom:6px}
.ncard .nk{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:2px 9px}
.ncard b{display:block;font-size:15px;margin-bottom:4px}
.ncard p{margin:0;color:var(--muted);font-size:13px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ncard .nf{display:flex;justify-content:space-between;color:var(--faint);font-size:11.5px;margin-top:8px}
.ncard .ndot{width:8px;height:8px;border-radius:50%;background:var(--accent);margin-inline-start:auto}
.ncard.k-news{border-inline-start-color:var(--blue)} .ncard.k-news .nk{color:var(--blue);background:var(--blue-soft)}
.ncard.k-circ{border-inline-start-color:var(--accent)} .ncard.k-circ .nk{color:var(--accent);background:var(--accent-soft)}
.ncard.k-tip{border-inline-start-color:var(--green)} .ncard.k-tip .nk{color:var(--green);background:var(--green-soft)}
.ncard.k-praise{border-inline-start-color:var(--amber)} .ncard.k-praise .nk{color:var(--amber);background:var(--amber-soft)}
.ncard-full{border-inline-start:4px solid var(--accent)}
.ncard-full.k-news{border-inline-start-color:var(--blue)} .ncard-full.k-tip{border-inline-start-color:var(--green)} .ncard-full.k-praise{border-inline-start-color:var(--amber)}
.icontile.k-news{background:var(--blue-soft);color:var(--blue)} .icontile.k-circ{background:var(--accent-soft);color:var(--accent)}
.icontile.k-tip{background:var(--green-soft);color:var(--green)} .icontile.k-praise{background:var(--amber-soft);color:var(--amber)}
@media(max-width:560px){.ngrid{grid-template-columns:1fr}}
.ack{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.trkinds{margin-bottom:12px}

/* ---------- الإعلان الجديد يلفت الانتباه (بهدوء ثم يهدأ) ---------- */
@keyframes nPop{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes nGlow{0%,100%{box-shadow:0 0 0 0 rgba(84,0,168,.22)}50%{box-shadow:0 0 0 9px rgba(84,0,168,0)}}
@keyframes nShine{0%{transform:translateX(-120%)}60%,100%{transform:translateX(220%)}}
@keyframes nBeat{0%,100%{transform:scale(1)}35%{transform:scale(1.12)}}
@keyframes nRing{0%,100%{transform:rotate(0)}20%{transform:rotate(-13deg)}40%{transform:rotate(11deg)}60%{transform:rotate(-7deg)}80%{transform:rotate(4deg)}}
.ncard{animation:nPop .35s ease both;overflow:hidden;position:relative}
.ncard.unread{animation:nPop .35s ease both,nGlow 2.4s ease-out .5s 3}
.ncard.unread::after{content:"";position:absolute;inset:0;width:45%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.75),transparent);animation:nShine 2.6s ease-in-out 1s 2;pointer-events:none}
.ncard .nnew{background:var(--red);color:#fff;font-size:10.5px;font-weight:800;border-radius:999px;padding:1px 8px;animation:nBeat 1.8s ease-in-out infinite}
.ncard .ndot{animation:nBeat 1.8s ease-in-out infinite}
.al-banner.live{animation:nGlow 2.6s ease-out infinite;border-color:#e3b872}
.al-banner.live>svg:first-child{animation:nRing 2.6s ease-in-out infinite;transform-origin:50% 15%}
@media (prefers-reduced-motion:reduce){.ncard,.ncard.unread,.ncard .nnew,.ncard .ndot,.al-banner.live,.al-banner.live>svg:first-child{animation:none}.ncard.unread::after{display:none}}
/* المشاركون في المهمة: سطر صغير تحت المسؤول الأول · وزر إزالة داخل الشريحة */
.s.co{display:flex;align-items:center;gap:3px;margin-top:2px}
#coList .chip{gap:4px;padding-inline-end:4px}
#coList .chip .x{border:0;background:transparent;cursor:pointer;color:var(--muted);display:grid;place-items:center;padding:1px;border-radius:50%;line-height:0}
#coList .chip .x:hover{background:var(--red-soft);color:var(--red)}

/* ============================================================
   تخطيط المشروع — المعالج · الخط الزمني (نمط MS Project) · رادار المعالم
   ============================================================ */
.pw-entry{display:flex;gap:12px;align-items:center;margin-top:12px;padding:12px 14px;border-radius:var(--r);border:1px solid var(--accent-soft);background:var(--accent-soft);color:inherit}
.pw-entry>div{flex:1;min-width:0} .pw-entry>svg{color:var(--accent);width:22px;height:22px} .pw-entry:hover{border-color:var(--accent)}
.pw-entry.ps-none{background:#fff;border-style:dashed;border-color:var(--accent)}
.pw-hero{text-align:center;padding:36px 18px} .pw-hero>svg{width:42px;height:42px;color:var(--accent)} .pw-hero h2{margin:8px 0 4px;font-size:19px} .pw-hero p{max-width:620px;margin:0 auto 14px}
.pw-sum{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.pw-ring{display:flex;align-items:center;gap:10px} .pw-ring b{font-size:24px;display:block;line-height:1.1} .pw-ring small{color:var(--muted);font-size:12px}
.pw-checks{border-inline-start:4px solid var(--red)} .pw-checks.ok{border-color:var(--green)} .pw-checks h3{display:flex;gap:6px;align-items:center}
.pw-chk{display:flex;gap:6px;align-items:baseline;font-size:13.5px;padding:3px 0;flex-wrap:wrap} .pw-chk a{font-weight:700}
.pw-chk.err{color:var(--red)} .pw-chk.warn{color:var(--amber)}
.pw-chk.ok{color:var(--green);background:var(--green-soft);padding:7px 11px;border-radius:9px;margin-bottom:10px}
.pw-steps{display:flex;gap:6px;margin-bottom:14px;overflow-x:auto;scrollbar-width:none;padding:2px}
.pw-steps::-webkit-scrollbar{display:none}
.pw-steps a{flex:1;min-width:112px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;border-radius:var(--r);background:var(--card);color:var(--muted);font-size:12.5px;font-weight:700;text-align:center;box-shadow:var(--shadow);border:2px solid transparent}
.pw-steps a>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--field);color:var(--muted);font-weight:800}
.pw-steps a>em{font-style:normal;line-height:1.4}
.pw-steps a.ok>span{background:var(--green);color:#fff}
.pw-steps a.on{color:var(--accent);border-color:var(--accent)} .pw-steps a.on>span{background:var(--accent);color:#fff}
.pw-card h2{font-size:17px;margin:0 0 6px;display:flex;gap:8px;align-items:center}
.pw-foot{display:flex;justify-content:space-between;gap:8px;margin-top:16px;border-top:1px solid var(--line);padding-top:12px}
.pw-msr{border:1px solid var(--line);border-radius:var(--r);padding:12px 12px 0;margin-bottom:10px;background:var(--hover)}
.pw-msr .row{align-items:flex-end} .pw-msr .pw-x{margin-bottom:12px}
.pw-wsum{margin-top:10px;padding:8px 12px;border-radius:10px;font-weight:700;display:flex;gap:6px;align-items:center}
.pw-wsum.ok{background:var(--green-soft);color:var(--green)} .pw-wsum.bad{background:var(--amber-soft);color:var(--amber)}
.pw-ms{border:1px solid var(--line);border-radius:var(--r);padding:12px;margin-bottom:12px;background:#fff}
.pw-ms.st-late{border-color:var(--red)} .pw-ms.st-risk{border-color:var(--amber)} .pw-ms.st-done{border-color:var(--green)}
.pw-ms-h{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:6px}
.pw-pe{display:flex;gap:8px;align-items:center;margin:6px 0} .pw-pe .progress{flex:1}
.pw-arow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:6px 0;border-bottom:1px dashed var(--line)}
.pw-arow>a{font-weight:700;flex:1;min-width:160px} .pw-arow select{width:auto}
.pw-link{width:auto;max-width:220px;padding:4px 8px;font-size:13px}
.pw-act{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}
.pw-act input,.pw-act select{width:auto;padding:6px 10px;font-size:13.5px}
.pw-act input[name=title]{flex:2 1 220px} .pw-act select{flex:1 1 140px} .pw-act input[type=date]{flex:0 1 150px} .pw-act input[name=estimate]{flex:0 1 90px}
.pw-co{flex:1 1 100%} .pw-co summary{cursor:pointer;color:var(--muted);font-size:13px;font-weight:700} .pw-co .chips{margin-top:6px}
.pw-co .chip input{width:14px;height:14px;margin:0}
.pw-rk{display:flex;gap:6px;margin-bottom:8px;flex-wrap:wrap}
.pw-rk input,.pw-rk select{width:auto} .pw-rk input[name=risk],.pw-rk input[name=mitigation]{flex:2 1 220px} .pw-rk select{flex:0 1 130px}
.pw-charter{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px} .pw-charter h4{margin:0 0 4px}
.pw-risks{width:100%;border-collapse:collapse;font-size:13.5px;margin-bottom:10px} .pw-risks th,.pw-risks td{border-bottom:1px solid var(--line);padding:6px 8px;text-align:start;vertical-align:top}
.pw-risks th{color:var(--muted);font-size:12.5px}

/* الخط الزمني: جدول WBS بجانب الأشرطة — صفوف بارتفاع ثابت فيتطابق الجانبان */
.gt{display:grid;grid-template-columns:minmax(0,720px) minmax(0,1fr);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff;font-size:13px}
.gt-tbl{border-inline-end:2px solid var(--line);overflow-x:auto;min-width:0}
.gt-h,.gt-r{display:grid;grid-template-columns:40px minmax(160px,1fr) 58px 52px 52px 44px 62px 62px 96px;align-items:center;height:34px;border-bottom:1px solid var(--line);white-space:nowrap}
.gt-h.nc,.gt-r.nc{grid-template-columns:42px minmax(160px,1fr) 64px 56px 56px 46px 100px}
.gt-h{height:49px;background:var(--field);font-weight:800;color:var(--muted);font-size:12px}
.gt-h>span,.gt-r>span{padding:0 6px;overflow:hidden;text-overflow:ellipsis}
.gt-c{text-align:center} .gt-w{color:var(--muted);font-size:12px}
.gt-r.k-proj{font-weight:800;background:var(--accent-soft)} .gt-r.k-sum{font-weight:800;background:#fbf9fe}
.gt-r.k-act .gt-n,.gt-r.k-ms .gt-n{padding-inline-start:22px} .gt-r.k-ms .gt-n{color:var(--accent-ink)}
.gt-r.k-grp{background:var(--field);color:var(--muted);font-weight:800}
.gt-r a{color:inherit} .gt-r a:hover{color:var(--accent)}
.gt-chart{overflow-x:auto;min-width:0}
.gt-scale{height:49px;background:var(--field);border-bottom:1px solid var(--line)}
.gt-tier{position:relative;height:24px} .gt-tier+.gt-tier{border-top:1px solid var(--line)}
.gt-tick{position:absolute;top:0;height:24px;line-height:24px;font-size:11px;color:var(--muted);font-weight:700;padding:0 4px;border-inline-start:1px solid var(--line);white-space:nowrap;overflow:hidden}
.gt-tick.c{text-align:center;padding:0}
.gt-body{position:relative}
.gt-row{height:34px;border-bottom:1px solid var(--line);position:relative}
.gt-row.k-proj{background:rgba(84,0,168,.04)} .gt-row.k-grp{background:var(--field)}
.gt-line{position:absolute;top:0;bottom:0;width:0;border-inline-start:1px dashed var(--line)}
.gt-wkend{position:absolute;top:0;bottom:0;background:rgba(42,36,56,.035)}
.gt-today{position:absolute;top:0;bottom:0;width:0;border-inline-start:2px solid var(--red);z-index:2}
.gt-bar{position:absolute;top:9px;height:16px;border-radius:4px;background:var(--blue-soft);border:1px solid var(--blue)}
.gt-bar>i{display:block;height:100%;background:var(--blue);border-radius:3px}
.gt-bar.k-sum{top:11px;height:11px;background:var(--accent-soft);border-color:var(--accent-ink)} .gt-bar.k-sum>i{background:var(--accent)}
.gt-bar.k-proj{top:11px;height:11px;background:#dcd8e4;border-color:var(--ink)} .gt-bar.k-proj>i{background:var(--ink)}
.gt-bar.k-sum::before,.gt-bar.k-sum::after,.gt-bar.k-proj::before,.gt-bar.k-proj::after{content:"";position:absolute;bottom:-7px;border:5px solid transparent;border-top-color:var(--accent-ink)}
.gt-bar.k-proj::before,.gt-bar.k-proj::after{border-top-color:var(--ink)}
.gt-bar::before{inset-inline-start:-6px} .gt-bar::after{inset-inline-end:-6px}
.gt-bar.st-done{border-color:var(--green);background:var(--green-soft)} .gt-bar.st-done>i{background:var(--green)}
.gt-bar.st-late{border-color:var(--red);background:var(--red-soft)} .gt-bar.st-late>i{background:var(--red)}
.gt-bar.st-risk{border-color:var(--amber);background:var(--amber-soft)} .gt-bar.st-risk>i{background:var(--amber)}
.gt-exp{position:absolute;top:-5px;bottom:-5px;width:0;border-inline-start:2px dotted var(--ink)}
.gt-dia{position:absolute;top:10px;width:14px;height:14px;background:var(--ink);transform:rotate(45deg);border-radius:2px}
.gt-dia.st-done{background:var(--green)} .gt-dia.st-late{background:var(--red)} .gt-dia.st-risk{background:var(--amber)}
.gt-lbl{position:absolute;top:7px;font-size:11.5px;color:var(--muted);white-space:nowrap}
.gt-none{position:absolute;top:7px;inset-inline-start:8px;font-size:11.5px;color:var(--faint)}
.gt-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;font-size:12px;color:var(--muted)} .gt-legend span{display:flex;gap:5px;align-items:center}
.gt-lg{display:inline-block;width:18px;height:8px;border-radius:2px}
.gt-lg.k-sum{background:var(--accent)} .gt-lg.k-act{background:var(--blue)} .gt-lg.k-dia{width:9px;height:9px;background:var(--ink);transform:rotate(45deg)}
.gt-lg.k-exp{width:0;height:12px;border-inline-start:2px dotted var(--ink)} .gt-lg.k-tdy{width:0;height:12px;border-inline-start:2px solid var(--red)}
.gt-lg.k-late{background:var(--red)} .gt-lg.k-risk{background:var(--amber)}
@media(max-width:1024px){
  .gt{grid-template-columns:minmax(0,250px) minmax(0,1fr)}
  .gt-h,.gt-r{grid-template-columns:34px minmax(0,1fr) 50px} .gt-h>span:nth-child(n+4),.gt-r>span:nth-child(n+4){display:none}
  .pw-charter{grid-template-columns:1fr}
}
@media(max-width:600px){
  .gt{grid-template-columns:140px minmax(0,1fr)}
  .gt-h,.gt-r{grid-template-columns:minmax(0,1fr)} .gt-h>span:not(.gt-n),.gt-r>span:not(.gt-n){display:none}
  .gt-r.k-act .gt-n,.gt-r.k-ms .gt-n{padding-inline-start:12px}
  .pw-steps a{min-width:46px} .pw-steps a>em{display:none} .pw-steps a.on>em{display:block}
  .pw-sum{gap:10px}
}

/* دعوة تفعيل إشعارات الجوال في «اليوم» — حافة تمييز مستقيمة */
.push-nudge{display:flex;gap:12px;align-items:flex-start;border-inline-start:4px solid var(--accent);border-start-start-radius:0;border-end-start-radius:0;margin-bottom:14px}
.push-nudge .pn-ico{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);flex:none}
.push-nudge .pn-body{flex:1;min-width:0} .push-nudge .pn-body b{display:block;margin-bottom:2px}
.push-nudge .pn-acts{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}

/* شريط «المشروع مؤرشف» في صفحة المشروع — حافة تمييز مستقيمة */
.arch-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px;padding:9px 12px;background:var(--field);border-inline-start:4px solid var(--muted);border-radius:0;font-size:14px}
.arch-bar>span{flex:1;min-width:180px}

/* خط الأساس · الانحراف · التبعيات في الخط الزمني */
.gt.nc{grid-template-columns:minmax(0,600px) minmax(0,1fr)}
.gt-base{position:absolute;top:27px;height:4px;background:#b7b2c4;border-radius:2px;opacity:.9}
.gt-base-dia{position:absolute;top:12px;width:10px;height:10px;border:2px solid #9a94a8;transform:rotate(45deg);background:#fff}
.gt-slip{color:var(--red);font-weight:800} .gt-gain{color:var(--green);font-weight:800}
.gt-deps{position:absolute;top:0;inset-inline-start:0;pointer-events:none;z-index:1;overflow:visible}
.gt-deps path{fill:none;stroke:#6f6884;stroke-width:1.3} .gt-deps path.bad{stroke:var(--red);stroke-dasharray:4 3}
.gt-deps marker path{fill:#6f6884;stroke:none}
.gt-lg.k-base{height:4px;background:#b7b2c4} .gt-lg.k-dep{height:0;border-top:1.5px solid #6f6884}

/* تخطيط المشاريع (المحفظة) */
.pf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px;margin-bottom:18px}
.pf-card{background:var(--card);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:14px 16px;display:flex;flex-direction:column;gap:8px}
.pf-h{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.pf-t{font-weight:800;font-size:15px;color:var(--ink)} .pf-t:hover{color:var(--accent)}
.pf-empty{background:var(--field);padding:8px 10px;border-radius:9px}
.pf-exp{position:absolute;top:-4px;bottom:-4px;width:0;border-inline-start:2px dotted var(--ink)}
.pf-facts{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-size:13px}
.pf-upd{font-size:13px;background:var(--field);padding:7px 10px;border-inline-start:3px solid var(--accent);border-radius:0}
.pf-upd.stale{border-inline-start-color:var(--amber);background:var(--amber-soft);color:var(--amber)}
.pf-acts{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}
.pf-sec{display:flex;gap:6px;align-items:center;margin:6px 0 10px;font-size:16px}

/* تقارير الحالة */
.su-card{margin-top:12px;padding:10px 12px;border:1px solid var(--line);border-inline-start:4px solid var(--faint);border-radius:0;background:#fff}
.su-card.st-on_track{border-inline-start-color:var(--green)} .su-card.st-at_risk{border-inline-start-color:var(--amber)} .su-card.st-off_track{border-inline-start-color:var(--red)} .su-card.st-done{border-inline-start-color:var(--blue)}
.su-h{display:flex;gap:8px;align-items:center;flex-wrap:wrap} .su-h .btn{margin-inline-start:auto}
.su-card .desc{margin:6px 0 0}
.su-sec{font-size:13px;margin-top:4px} .su-sec.bad{color:var(--red)}
.su-list{display:flex;flex-direction:column;gap:10px}
.su-item{border:1px solid var(--line);border-inline-start:4px solid var(--faint);padding:10px 12px;border-radius:0}
.su-item.st-on_track{border-inline-start-color:var(--green)} .su-item.st-at_risk{border-inline-start-color:var(--amber)} .su-item.st-off_track{border-inline-start-color:var(--red)} .su-item.st-done{border-inline-start-color:var(--blue)}
.su-st{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.su-opt{display:flex;align-items:center;gap:4px;cursor:pointer;margin:0;padding:4px 8px;border:1px solid var(--line);border-radius:999px}
.su-opt input{width:14px;height:14px;margin:0}
@media(max-width:600px){ .pf-grid{grid-template-columns:1fr} }

.pf-seg{max-width:100%;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none} .pf-seg::-webkit-scrollbar{display:none} .pf-seg button{white-space:nowrap;flex:none}

/* الدخول ببصمة الوجه/الإصبع */
.pk-btn{width:100%;justify-content:center;min-height:46px;font-size:15px;margin-bottom:6px}
.pk-btn small{font-weight:600;opacity:.85}
.pk-or{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12.5px;margin:6px 0 10px}
.pk-or::before,.pk-or::after{content:"";flex:1;height:1px;background:var(--line)}
.pk-offer{text-align:center} .pk-offer>svg{width:40px;height:40px;color:var(--accent)} .pk-offer h3{margin:8px 0 4px}

/* سجل الموظف في الشركة (خط زمني) */
.erec{display:flex;flex-direction:column;gap:0;border-inline-start:2px solid var(--line);margin-inline-start:96px}
.erec-i{display:flex;gap:10px;align-items:flex-start;padding:8px 0;position:relative}
.erec-d{position:absolute;inset-inline-start:-104px;width:90px;text-align:end;font-size:12px;color:var(--muted);top:10px}
.erec-ic{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--field);color:var(--muted);margin-inline-start:-14px;flex:none;border:2px solid #fff}
.erec-i.k-paid .erec-ic{background:var(--green-soft);color:var(--green)} .erec-i.k-pend .erec-ic{background:var(--amber-soft);color:var(--amber)}
.erec-i.k-alert .erec-ic{background:var(--red-soft);color:var(--red)} .erec-i.k-join .erec-ic,.erec-i.k-contract .erec-ic{background:var(--accent-soft);color:var(--accent)} .erec-i.k-leave .erec-ic{background:var(--blue-soft);color:var(--blue)}
.erec-b{flex:1;min-width:0;font-size:14px} .erec-b a{font-size:12.5px}
@media(max-width:600px){ .erec{margin-inline-start:12px} .erec-d{position:static;width:auto;text-align:start;display:block} .erec-i{flex-wrap:wrap} }

/* مسيّر الرواتب */
.pr-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}
.pr-steps>div{display:flex;gap:8px;align-items:flex-start;background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);padding:10px 12px;border-top:3px solid var(--line);color:var(--muted)}
.pr-steps>div>span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--field);font-weight:800;flex:none;font-size:13px}
.pr-steps>div b{display:block;font-size:13.5px;color:var(--ink)} .pr-steps>div small{font-size:11.5px;line-height:1.5}
.pr-steps>div.ok{border-top-color:var(--green)} .pr-steps>div.ok>span{background:var(--green);color:#fff}
.pr-steps>div.on{border-top-color:var(--accent)} .pr-steps>div.on>span{background:var(--accent);color:#fff}
.pr-rc{display:inline-flex;align-items:center;padding:2px 4px;color:var(--accent)}
.pr-up{display:inline-flex;align-items:center;padding:2px 4px;margin:0;color:var(--muted);cursor:pointer} .pr-up:hover{color:var(--accent)}
.pr-paid{margin-top:12px;padding:9px 12px;background:var(--green-soft);color:var(--green);border-inline-start:3px solid var(--green);font-size:13.5px}
.pr-paid a{font-size:12.5px}
@media(max-width:760px){ .pr-steps{grid-template-columns:1fr 1fr} }

/* تشخيص إشعارات الجوال في «أنا» */
.push-diag{margin-top:10px} .push-diag summary{cursor:pointer;color:var(--muted);font-size:13px;font-weight:700}
.push-diag .list{margin-top:8px}

