:root{--navy:#153E5C;--blue:#1B6CA8;--lblue:#27A8DF;--sage:#6F7F52;--gold:#A98736;
 --card:#F5F1EE;--sagebg:#EEF2E4;--goldbg:#F4EDDC;--line:#D8D2CB;--text:#242424;--grey:#5E5E5E;--bg:#F3F0EA;--white:#fff}
*{box-sizing:border-box;margin:0;padding:0}
a{color:var(--blue)}
/* ===== header ===== */
/* ===== layout ===== */
.refside .searchbox{position:relative}
.refside .searchbox input{width:100%;padding:11px 38px 11px 34px;border:1.5px solid var(--line);border-radius:12px;font-family:inherit;font-size:14px;background:#fff;outline:none}
.refside .searchbox input:focus{border-color:var(--lblue)}
.refside .searchbox .icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--grey);font-size:15px}
.refside .searchbox .clear{position:absolute;left:8px;top:50%;transform:translateY(-50%);border:0;background:var(--card);color:var(--grey);width:24px;height:24px;border-radius:50%;cursor:pointer;display:none;font-size:13px;line-height:1}
.refside .hint{font-size:11px;color:var(--grey);margin-top:7px;display:flex;justify-content:space-between;align-items:center}
.legend{display:flex;gap:8px}
.dotf{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--sage);vertical-align:middle;margin-inline-end:3px}
.dots{display:inline-block;width:9px;height:9px;border-radius:50%;background:#C9C2B8;vertical-align:middle;margin-inline-end:3px}
.tree{flex:1;overflow-y:auto;padding:6px 8px 20px}
/* tree nodes */
.div{margin:4px 0}
.div > .row{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;cursor:pointer;background:var(--card);border:1px solid transparent}
.div > .row:hover{border-color:var(--lblue)}
.div.open > .row{background:var(--navy);color:#fff}
.code{font-size:11px;font-weight:800;background:rgba(0,0,0,.06);border-radius:6px;padding:2px 7px;direction:ltr;unicode-bidi:isolate;display:inline-block;font-variant-numeric:tabular-nums;white-space:nowrap}
.div.open > .row .code{background:rgba(255,255,255,.18)}
.name{flex:1;font-weight:700;font-size:13.5px;line-height:1.3}
.cnt{font-size:10.5px;color:var(--grey)}
.div.open > .row .cnt{color:#D6E4EE}
.chev{font-size:11px;color:var(--grey);transition:transform .15s}
.div.open > .row .chev{color:#fff;transform:rotate(90deg)}
.secs{display:none;padding:4px 0 2px 0;margin-inline-start:6px;border-inline-start:2px solid var(--line)}
.div.open > .secs{display:block}
.sec > .row{display:flex;align-items:center;gap:7px;padding:6px 10px;margin:2px 0 2px 8px;border-radius:8px;cursor:pointer}
.sec > .row:hover{background:var(--card)}
.sec.open > .row{background:var(--sagebg)}
.sec .name{font-size:12.5px;font-weight:700;color:var(--navy)}
.sec .chev{transform:rotate(0)}
.sec.open > .row .chev{transform:rotate(90deg)}
.its{display:none;margin-inline-start:16px}
.sec.open > .its{display:block}
.it{display:flex;align-items:center;gap:7px;padding:5px 10px;margin:1px 0 1px 8px;border-radius:8px;cursor:pointer;border:1px solid transparent}
.it:hover{background:var(--card)}
.it.active{background:var(--sagebg);border-color:var(--sage)}
.it .name{font-size:12px;font-weight:500;color:var(--text)}
.it .code{font-size:10px;background:transparent;color:var(--grey);padding:0}
.badge{font-size:9.5px;font-weight:800;padding:2px 7px;border-radius:6px;white-space:nowrap}
.badge.full{background:var(--sagebg);color:var(--sage)}
.badge.skel{background:#EFECE6;color:#8A8A8A}
/* search results */
.results{padding:6px 8px}
.res{display:block;padding:8px 10px;margin:4px 0;border-radius:10px;background:var(--card);cursor:pointer;border:1px solid transparent}
.res:hover{border-color:var(--lblue)}
.res .path{font-size:10.5px;color:var(--grey);margin-top:2px}
.res .nm{font-size:13px;font-weight:700;color:var(--navy)}
.res .nm .en{font-weight:500;color:var(--grey);font-size:11px;direction:ltr;display:inline-block;margin-inline-start:6px}
mark{background:#FFE9A8;color:inherit;padding:0 1px;border-radius:2px}
.empty{padding:36px 16px;text-align:center;color:var(--grey);font-size:13px}
/* ===== main ===== */
.crumb{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12px;color:var(--grey);margin-bottom:14px}
.crumb a{color:var(--blue);text-decoration:none;cursor:pointer}
.crumb .sep{color:#B9B2A8}
.cd{direction:ltr;unicode-bidi:isolate;display:inline-block;font-variant-numeric:tabular-nums}
.doc{max-width:1040px}
.dochead{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 22px;display:flex;gap:16px;align-items:flex-start;box-shadow:0 2px 12px rgba(0,0,0,.04)}
.dochead .big{flex:1}
.dochead h1{font-size:22px;color:var(--navy);line-height:1.25;margin-bottom:4px}
.dochead .en{direction:ltr;text-align:right;color:var(--grey);font-size:13px}
.dochead .meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.pill{font-size:11px;background:var(--card);border-radius:8px;padding:4px 10px;color:var(--grey)}
.pill b{color:var(--navy)}
.pill.code{direction:ltr;unicode-bidi:isolate;display:inline-block;font-weight:800;color:var(--navy)}
.btnrow{display:flex;gap:6px}
.btn{border:1px solid var(--line);background:#fff;border-radius:9px;padding:7px 11px;font-family:inherit;font-size:12px;cursor:pointer;color:var(--navy)}
.btn:hover{background:var(--card)}
.sec-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 20px;margin-top:12px}
.sec-card h2{font-size:14.5px;color:var(--navy);margin-bottom:10px;display:flex;align-items:center;gap:8px}
.sec-card h2 .ic{width:6px;height:18px;border-radius:3px;background:var(--blue);display:inline-block}
.sec-card.health{background:var(--sagebg);border-color:#D6DEC6}
.sec-card.health h2 .ic{background:var(--sage)}
.sec-card.accept h2 .ic{background:var(--gold)}
.sec-card.notes{background:var(--goldbg);border-color:#E7DCC0}
.sec-card.notes h2 .ic{background:var(--gold)}
.sec-card p{line-height:1.75;font-size:13.5px}
.sec-card ol{padding-inline-start:22px}
.sec-card ol li{margin:6px 0;line-height:1.7;font-size:13.3px}
.sec-card ul{list-style:none}
.sec-card ul li{margin:6px 0;line-height:1.7;font-size:13.3px;padding-inline-start:18px;position:relative}
.sec-card ul li::before{content:'';position:absolute;right:0;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--sage)}
.refs{display:flex;flex-wrap:wrap;gap:6px}
.ref{font-size:11.5px;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:5px 10px;color:var(--navy)}
.skel-note{background:var(--goldbg);border:1px dashed var(--gold);border-radius:12px;padding:14px 16px;font-size:13px;color:#6B5A2A;line-height:1.7;margin-top:12px}
.vars h2 small{font-weight:500;color:var(--grey);font-size:11px}
.tblwrap{overflow:auto;border:1px solid var(--line);border-radius:10px}
table.vt{width:100%;border-collapse:collapse;font-size:12.5px;min-width:560px}
table.vt th{background:var(--card);color:var(--navy);font-weight:800;padding:8px 10px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}
table.vt td{padding:7px 10px;border-bottom:1px solid #EEE9E2;vertical-align:top}
table.vt tr:last-child td{border-bottom:0}
table.vt tr:nth-child(even) td{background:#FBFAF7}
table.vt .c{text-align:center;white-space:nowrap}
table.vt .price{font-weight:800;color:var(--navy);font-variant-numeric:tabular-nums;direction:ltr}
table.vt .spec{color:var(--grey);font-size:11.5px;min-width:160px}
table.vt .var-ar{font-weight:700}
table.vt .var-en{color:var(--grey);font-size:10.5px;direction:ltr;text-align:right}
.basis{margin-top:8px;font-size:11px;color:var(--grey)}
.tag{display:inline-block;font-size:10.5px;background:#EEF4F9;color:var(--blue);border-radius:6px;padding:2px 8px;margin:2px}
/* division landing */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;margin-top:12px}
.gcard{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;cursor:pointer}
.gcard:hover{border-color:var(--lblue)}
.gcard .code{margin-bottom:6px}
.gcard .nm{font-weight:700;color:var(--navy);font-size:13.5px}
.gcard .en{font-size:11px;color:var(--grey);direction:ltr;text-align:right}
.gcard .cov{font-size:11px;color:var(--grey);margin-top:6px}
.bar{height:5px;background:#EDE8E0;border-radius:4px;overflow:hidden;margin-top:5px}
.bar i{display:block;height:100%;background:var(--sage)}
/* home */
.home h1{font-size:24px;color:var(--navy);margin-bottom:6px}
.home .lead{font-size:14px;line-height:1.8;color:var(--text);max-width:820px}
.kpis{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
.kpi{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 18px;min-width:150px}
.kpi b{display:block;font-size:22px;color:var(--navy)}
.kpi span{font-size:11.5px;color:var(--grey)}
.howto{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-top:10px}
.how{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:12.8px;line-height:1.7}
.how b{color:var(--navy);display:block;margin-bottom:3px}
.disc{background:var(--goldbg);border:1px solid #E7DCC0;border-radius:12px;padding:12px 16px;font-size:12.5px;line-height:1.75;color:#5C4E28;margin-top:14px}
kbd{font-family:inherit;background:#fff;border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;padding:0 6px;font-size:11px}
/* mobile */

/* ===== وضع المشاريع (جدول الكميات) ===== */
.pcard{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin-bottom:14px;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.pcard h2{font-size:15px;color:var(--navy);margin-bottom:10px;display:flex;align-items:center;gap:8px}
.pcard h2 .ic{width:4px;height:18px;background:var(--lblue);border-radius:2px;display:inline-block}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.fld{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--grey)}
.fld input,.fld select,.fld textarea{font-family:inherit;font-size:13px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text)}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--lblue);box-shadow:0 0 0 2px rgba(39,168,223,.15)}
.fld.wide{grid-column:1/-1}
.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}
.btn.primary{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn.primary:hover{background:var(--blue)}
.btn.accent{background:var(--sage);color:#fff;border-color:var(--sage)}
.btn.danger{color:#A6503B;border-color:#E3C9C2}
.btn.sm{padding:4px 8px;font-size:11px}
.btn:disabled{opacity:.45;cursor:not-allowed}
.plist{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.pitem{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;cursor:pointer;transition:.15s}
.pitem:hover{border-color:var(--lblue);box-shadow:0 2px 8px rgba(0,0,0,.06)}
.pitem .nm{font-weight:800;color:var(--navy);font-size:14px}
.pitem .sub{font-size:11px;color:var(--grey);margin-top:3px}
.pitem .tot{font-size:13px;font-weight:800;color:var(--sage);margin-top:6px;direction:ltr;text-align:right}
.cascade{display:grid;grid-template-columns:1fr 1fr 1.4fr 1.4fr;gap:8px}
.cascade select{width:100%}
.pick{background:var(--card);border-radius:10px;padding:10px 12px;margin-top:10px;display:grid;grid-template-columns:1fr auto auto auto;gap:10px;align-items:end}
.pick .info{font-size:12px;color:var(--grey);line-height:1.6}
.pick .info b{color:var(--navy)}
.pick input[type=number]{width:110px}
.pick input[type=text]{width:180px}
.qsearch{position:relative}
.qsearch .drop{position:absolute;top:100%;right:0;left:0;background:#fff;border:1px solid var(--line);border-radius:10px;z-index:30;max-height:320px;overflow:auto;box-shadow:0 8px 24px rgba(0,0,0,.12);display:none}
.qsearch .drop.show{display:block}
.qsearch .drop div{padding:7px 10px;border-bottom:1px solid #EEE9E2;font-size:12.5px;cursor:pointer}
.qsearch .drop div:hover{background:var(--card)}
.qsearch .drop .cd{font-weight:800;color:var(--navy);margin-inline-end:6px}
.qsearch .drop .en{color:var(--grey);font-size:10.5px;direction:ltr;display:inline-block}
table.bq{width:100%;border-collapse:collapse;font-size:12.5px}
table.bq th{background:var(--navy);color:#fff;font-weight:700;padding:8px 8px;text-align:right;white-space:nowrap;font-size:12px}
table.bq td{padding:6px 8px;border-bottom:1px solid #EEE9E2;vertical-align:middle}
table.bq tr.divrow td{background:var(--card);font-weight:800;color:var(--navy);font-size:13px}
table.bq tr.subrow td{background:#FBFAF7;font-weight:700;color:var(--navy);border-bottom:2px solid var(--line)}
table.bq .c{text-align:center;white-space:nowrap}
table.bq .n{direction:ltr;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
table.bq .desc-ar{font-weight:700}
table.bq .desc-en{color:var(--grey);font-size:10.5px;direction:ltr;text-align:right}
table.bq .spec{color:var(--grey);font-size:11px;max-width:260px}
table.bq input.qty{width:84px;font-family:inherit;font-size:13px;padding:4px 6px;border:1px solid var(--line);border-radius:6px;text-align:center}
table.bq input.loc{width:130px;font-family:inherit;font-size:11.5px;padding:4px 6px;border:1px solid var(--line);border-radius:6px}
table.bq .del{color:#A6503B;cursor:pointer;font-weight:800;padding:0 6px}
table.bq .del:hover{background:#F6E6E2;border-radius:6px}
.totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:12px}
.tot{background:var(--card);border-radius:10px;padding:10px 12px}
.tot span{display:block;font-size:11px;color:var(--grey)}
.tot b{display:block;font-size:17px;color:var(--navy);direction:ltr;text-align:right;font-variant-numeric:tabular-nums}
.tot.grand{background:var(--navy)}
.tot.grand span{color:#D6E4EE}.tot.grand b{color:#fff;font-size:20px}
.empty-boq{padding:30px;text-align:center;color:var(--grey);border:2px dashed var(--line);border-radius:12px}
.toast{position:fixed;bottom:18px;right:18px;background:var(--navy);color:#fff;padding:10px 16px;border-radius:10px;font-size:13px;z-index:99;opacity:0;transition:.25s;pointer-events:none}
.toast.show{opacity:1}
.setrow{display:flex;flex-wrap:wrap;gap:12px;align-items:end}
.setrow .fld{min-width:150px}
.badge.ovr{background:#F4EDDC;color:var(--gold)}


/* ===== منصة إدارة مشاريع تجمع الأحساء الصحي ===== */
html,body{min-height:100%}
body{font-family:'Tajawal','Janna LT',system-ui,sans-serif;color:var(--text);background:var(--bg);font-size:14px;margin:0}
#app{min-height:100vh;display:flex;flex-direction:column}
header.top{height:62px;background:var(--navy);display:flex;align-items:center;gap:14px;padding:0 18px;box-shadow:0 2px 10px rgba(0,0,0,.25);position:sticky;top:0;z-index:50}
header.top .logo{height:42px;background:#fff;border-radius:8px;padding:4px 8px}
.nav{display:flex;gap:4px}
.nav a{color:#D6E4EE;text-decoration:none;font-weight:700;font-size:13.5px;padding:8px 14px;border-radius:9px}
.nav a:hover{background:rgba(255,255,255,.1)}
.nav a.on{background:var(--lblue);color:#fff}
.grp{position:relative} .grp .gt small{font-size:9px;opacity:.8}
.grp .dd{display:none;position:absolute;top:100%;right:0;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.18);padding:6px;min-width:210px;z-index:60;flex-direction:column;gap:2px}
.grp:hover .dd,.grp.open .dd{display:flex}
.grp .dd a{color:var(--navy);font-size:13px;padding:8px 12px;border-radius:8px} .grp .dd a:hover{background:#F3F7FA} .grp .dd a.on{background:var(--lblue);color:#fff}
.grp.on > .gt,.grp .gt.on{background:rgba(255,255,255,.14)}
.who{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2;color:#fff;font-size:12.5px}
.who span{color:#A9C1D3;font-size:10.5px}
header.top .btn{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.2)}
.menubtn2{display:none}
main#main{flex:1;padding:20px 24px 60px;max-width:1500px;width:100%;margin:0 auto;box-sizing:border-box}
.pagetitle{font-size:22px;color:var(--navy)}
.loading{padding:60px;text-align:center;color:var(--grey)}
.spin{width:34px;height:34px;border:3px solid var(--line);border-top-color:var(--lblue);border-radius:50%;margin:0 auto 12px;animation:sp 1s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}
.muted{color:var(--grey)} .small{font-size:11.5px} .bad{color:#A6503B} .good{color:var(--sage)} .ltr{direction:ltr;text-align:right;unicode-bidi:isolate} .pre{white-space:pre-wrap;line-height:1.7}
.off{opacity:.55}
.btn.wide{width:100%;padding:10px} .btn.danger-solid{background:#A6503B;color:#fff;border-color:#A6503B}
.btnrow.end{justify-content:flex-end;margin-top:12px} .btnrow{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
/* الدخول */
.auth{min-height:calc(100vh - 62px);display:flex;align-items:center;justify-content:center;padding:20px}
.authbox{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px 26px;max-width:420px;width:100%;text-align:center;box-shadow:0 6px 24px rgba(0,0,0,.06)}
.authbox .alogo{height:64px;margin-bottom:8px}
.authbox h1{font-size:20px;color:var(--navy);margin-bottom:2px}
.authbox form{text-align:right;margin-top:16px;display:flex;flex-direction:column;gap:10px}
.alinks{margin-top:14px;font-size:13px} .alinks a{color:var(--blue)}
/* النماذج والنوافذ */
.mwrap{position:fixed;inset:0;background:rgba(21,62,92,.45);z-index:200;display:flex;align-items:flex-start;justify-content:center;padding:40px 12px;overflow:auto}
.modal{background:#fff;border-radius:16px;width:100%;max-width:560px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.modal.wide{max-width:900px}
.mhead{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line)}
.mhead h3{font-size:16px;color:var(--navy)} .mhead .x{border:0;background:transparent;font-size:16px;cursor:pointer;color:var(--grey)}
.mbody{padding:16px 18px}
.notice{background:var(--goldbg);border:1px solid #E7D9B0;border-radius:10px;padding:10px 12px;margin-bottom:12px;font-size:13px}
/* لوحة المؤشرات */
.kpi.bad b{color:#A6503B} .kpi b small{font-size:12px;color:var(--grey)}
.stagebar{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:8px}
.stagecell{display:block;background:#fff;border:1px solid var(--line);border-top:4px solid var(--navy);border-radius:10px;padding:10px 8px;text-align:center;text-decoration:none;color:var(--text)}
.stagecell b{display:block;font-size:20px;color:var(--navy)} .stagecell span{font-size:11.5px;display:block} .stagecell small{color:var(--grey);font-size:10px;direction:ltr;display:block}
.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
table.lst{width:100%;border-collapse:collapse;font-size:13px}
table.lst th{text-align:right;background:var(--card);color:var(--navy);padding:8px 9px;font-size:12px;border-bottom:1px solid var(--line);white-space:nowrap}
table.lst td{padding:8px 9px;border-bottom:1px solid #EEE9E2;vertical-align:middle}
table.lst tr[data-open]{cursor:pointer} table.lst tr[data-open]:hover td{background:#FBFAF7}
table.lst tr.hl td{background:var(--goldbg)}
table.lst .c{text-align:center} table.lst .n{direction:ltr;text-align:right;font-variant-numeric:tabular-nums}
.bar{height:6px;background:#EDE9E2;border-radius:3px;overflow:hidden;margin:3px 0} .bar i{display:block;height:100%;background:var(--lblue)}
.stage{display:inline-block;color:#fff;font-size:11px;font-weight:800;padding:3px 9px;border-radius:7px;white-space:nowrap}
.badge.bad{background:#F6E6E2;color:#A6503B}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;align-items:center}
.filters input,.filters select{font-family:inherit;font-size:13px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:#fff}
.filters input{min-width:260px;flex:1} .chk{font-size:12.5px;color:var(--grey)}
.upd{padding:10px 0;border-bottom:1px solid #EEE9E2} .upd:last-child{border-bottom:0} .uh{font-size:12.5px;margin-bottom:4px} .uh a{color:var(--blue);font-weight:700;text-decoration:none} .ub{font-size:13.5px;line-height:1.7}
.upd .del{float:left}
/* بطاقة المشروع */
.phead{margin-bottom:14px}
.ptitle{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin:6px 0 12px}
.ptitle h1{font-size:22px;color:var(--navy);margin-bottom:2px}
.stageline{display:flex;gap:0;overflow:auto;padding:6px 0 10px}
.sl{flex:1;min-width:84px;text-align:center;position:relative;font-size:11px;color:var(--grey)}
.sl i{display:block;width:14px;height:14px;border-radius:50%;background:#DDD6CC;margin:0 auto 4px;border:3px solid var(--bg);box-shadow:0 0 0 1px var(--line)}
.sl::before{content:'';position:absolute;top:7px;right:50%;width:100%;height:2px;background:#DDD6CC;z-index:-1}
.sl:first-child::before{display:none}
.sl.done i,.sl.done::before{background:var(--sage)} .sl.done{color:var(--sage)}
.sl.cur i{background:var(--c,var(--lblue));transform:scale(1.25)} .sl.cur{color:var(--navy);font-weight:800}
.tabs{display:flex;gap:4px;border-bottom:2px solid var(--line);margin-bottom:14px;overflow:auto}
.tabs a{text-decoration:none;color:var(--grey);font-weight:700;padding:8px 14px;border-bottom:3px solid transparent;margin-bottom:-2px;white-space:nowrap}
.tabs a.on{color:var(--navy);border-bottom-color:var(--lblue)}
.kvs{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px}
.kv{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px dashed #EEE9E2;font-size:13px} .kv span{color:var(--grey)} .kv b{color:var(--navy);text-align:left}
h3.sub{font-size:13px;color:var(--navy);margin:14px 0 6px}
.prog{margin-top:14px} .pl{display:flex;justify-content:space-between;font-size:12px;margin-top:8px} .pl b{color:var(--navy)}
.titleblock{display:flex;flex-direction:column;line-height:1.3} .titleblock b{color:var(--navy);font-size:15px} .titleblock .muted{font-size:12px}
.cascade{margin-top:10px}
.tags{margin-top:10px}
/* المرجع داخل المنصة */
.refwrap{display:flex;gap:0;height:calc(100vh - 62px);margin:-20px -24px -60px;position:relative}
.refside{width:370px;min-width:290px;background:var(--white);border-inline-start:1px solid var(--line);display:flex;flex-direction:column;z-index:20;box-shadow:-2px 0 12px rgba(0,0,0,.05)}
.refside .searchbox{margin:12px 12px 6px;position:relative}
.refside .hint{padding:0 14px 8px}
.refmain{flex:1;overflow-y:auto;padding:20px 24px 60px}
.menubtn{display:none;position:absolute;bottom:16px;left:16px;z-index:30}
@media (max-width:900px){
  .menubtn2{display:inline-block}
  .nav{display:none;position:absolute;top:62px;right:0;left:0;background:var(--navy);flex-direction:column;padding:8px}
  .nav.show{display:flex}
  .pcard,.dash .kpis{overflow-x:auto} body{overflow-x:hidden} .grp .gt{display:block} .grp.on > .gt,.grp.open > .gt{background:transparent}
  .grp .dd{position:static;background:transparent;border:0;box-shadow:none;padding:0 18px 4px;display:flex} .grp .dd a{color:#D6E4EE;font-size:13px} .grp .dd a:hover{background:rgba(255,255,255,.1)}
  .who{display:none}
  main#main{padding:14px 12px 60px}
  .two,.kvs{grid-template-columns:1fr}
  .refwrap{margin:-14px -12px -60px}
  .refside{position:absolute;inset:0 auto 0 auto;right:0;width:88%;max-width:380px;transform:translateX(100%);transition:transform .2s}
  .refside.show{transform:none}
  .menubtn{display:inline-block}
  .cascade{grid-template-columns:1fr 1fr}
  .pick{grid-template-columns:1fr 1fr} .pick .info{grid-column:1/-1}
  .tblwrap-bq{overflow:auto} table.bq{min-width:900px}
  .filters input{min-width:0}
}
@media print{
  header.top,.tabs,.toolbar,.filters,.menubtn,.refside,.btnrow,.noprint{display:none!important}
  body{background:#fff} main#main{padding:0;max-width:none}
  .refwrap{height:auto;margin:0;display:block} .refmain{overflow:visible;padding:0}
  .sec-card,.dochead,.pcard{break-inside:avoid;box-shadow:none}
  table.bq th{background:#eee!important;color:#000!important;-webkit-print-color-adjust:exact}
}

.qsearch input,.cascade select{width:100%;font-family:inherit;font-size:13px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text)}
.qsearch input:focus,.cascade select:focus{outline:none;border-color:var(--lblue);box-shadow:0 0 0 2px rgba(39,168,223,.15)}

a.kpi{text-decoration:none;color:inherit;display:block} a.kpi:hover{border-color:var(--lblue)}

.tabs .cnt{background:var(--card);color:var(--grey);border-radius:10px;padding:1px 7px;font-size:11px;margin-inline-start:4px}
.tabs a.on .cnt{background:var(--lblue);color:#fff}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-block;background:var(--goldbg);border:1px solid #E7D9B0;border-radius:20px;padding:5px 12px;font-size:12.5px;color:var(--navy);text-decoration:none}
.chip small{color:#A6503B;margin-inline-start:4px}
h2 a.small{font-weight:500;margin-inline-start:auto;font-size:11.5px}
.pcard h2{display:flex;align-items:center}
/* ===== التقرير التنفيذي ===== */
.rep{max-width:210mm;margin:0 auto;color:#1d2b33}
.rpage{background:#fff;border:1px solid var(--line);border-radius:8px;padding:10mm 10mm;margin-bottom:14px;box-shadow:0 2px 12px rgba(0,0,0,.05);page-break-after:always;break-after:page}
.rpage:last-child{page-break-after:auto;break-after:auto}
.rhead{display:flex;align-items:center;gap:14px;border-bottom:3px solid var(--navy);padding-bottom:10px;margin-bottom:12px}
.rhead img{height:46px} .rhead .rt{flex:1} .rhead h1{font-size:19px;color:var(--navy);margin:0} .rhead .rs{font-size:11px;color:var(--grey)}
.rmeta{display:flex;flex-direction:column;gap:2px;font-size:10.5px;text-align:left;min-width:170px} .rmeta span{color:var(--grey);margin-inline-end:6px} .rmeta b{color:var(--navy)}
.rkpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}
.rk{background:var(--card);border-radius:10px;padding:8px 10px;text-align:center;border-top:3px solid var(--lblue)} .rk b{display:block;font-size:18px;color:var(--navy);line-height:1.2} .rk span{font-size:10px;color:var(--grey)} .rk.bad{border-top-color:#A6503B} .rk.bad b{color:#A6503B}
.rtwo{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rcard{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:10px;break-inside:avoid}
.rcard h2{font-size:13px;color:var(--navy);margin:0 0 8px;padding-bottom:5px;border-bottom:1px solid var(--line)} .rcard h2 small{color:var(--grey);font-weight:500}
.rcard h3{font-size:11.5px;color:var(--navy);margin:8px 0 4px}
table.rt2{width:100%;border-collapse:collapse;font-size:10.5px} table.rt2 th{background:var(--navy);color:#fff;padding:5px 6px;text-align:right;font-weight:700} table.rt2 td{padding:4px 6px;border-bottom:1px solid #EEE9E2;vertical-align:middle} table.rt2 tr:nth-child(even) td{background:#FBFAF7} table.rt2 .c{text-align:center} table.rt2 .n{direction:ltr;text-align:right;font-variant-numeric:tabular-nums}
.rrow{display:flex;align-items:center;gap:8px;font-size:11px;margin:4px 0} .rrow .rl{width:110px;color:var(--grey)} .rrow b{width:26px;text-align:left;color:var(--navy)}
.rbar{flex:1;height:8px;background:#EDE9E2;border-radius:4px;overflow:hidden;min-width:50px} .rbar i{display:block;height:100%}
table.rt2 .rbar{height:5px;margin-bottom:2px}
.rb{display:inline-block;font-size:9.5px;font-weight:800;padding:1px 6px;border-radius:5px} .rb.bad{background:#F6E6E2;color:#A6503B} .rb.ok{background:var(--sagebg);color:var(--sage)} .rb.mid{background:var(--goldbg);color:var(--gold)}
.rlist{margin:0;padding-inline-start:16px;font-size:11px;line-height:1.7}
.rfoot{margin-top:14px;border-top:1px solid var(--line);padding-top:8px;font-size:10px;color:var(--grey)} .sig{display:flex;justify-content:space-between;gap:20px;margin-top:14px;font-size:10.5px;color:var(--text)} .sig>div{flex:1;border:1px dashed var(--line);border-radius:8px;padding:8px 10px;line-height:1.7}
.pdfmode .rpage{border:0;box-shadow:none;border-radius:0;margin:0;padding:4mm 6mm;break-after:auto;page-break-after:auto}
@media print{ .rep{max-width:none} .rpage{border:0;box-shadow:none;border-radius:0;margin:0;padding:0;page-break-after:always} .rpage:last-child{page-break-after:auto} .rkpis{grid-template-columns:repeat(4,1fr)!important} .rtwo{grid-template-columns:1fr 1fr!important} .rhead{flex-wrap:nowrap!important} .rmeta{text-align:left!important} .rcard{break-inside:auto} table.rt2 tr{break-inside:avoid} @page{size:A4;margin:10mm 9mm} }
.pdfmode .rkpis{grid-template-columns:repeat(4,1fr)!important} .pdfmode .rtwo{grid-template-columns:1fr 1fr!important} .pdfmode .rhead{flex-wrap:nowrap!important} .pdfmode .rmeta{text-align:left!important}
@media screen and (max-width:900px){ .rkpis{grid-template-columns:repeat(2,1fr)} .rtwo{grid-template-columns:1fr} .rhead{flex-wrap:wrap} .rmeta{text-align:right} }

/* المستخلصات */
.paycalc{background:var(--bg,#f6f8fa);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.kvs .kv.net{grid-column:1/-1;border-top:2px solid var(--navy);padding-top:6px}
.kvs .kv.net b{font-size:18px;color:var(--navy)}
.alert{border-radius:10px;padding:10px 14px;margin:8px 0 12px;font-weight:700}
.alert.bad{background:#fbeae6;color:#8a3a28;border:1px solid #efc7bd}
.kpis.fin{margin:6px 0 12px}
.sub-h{font-size:14px;color:var(--navy);margin:14px 0 6px}

/* التقارير المخصصة */
.rbuild{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-bottom:14px}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;max-height:160px;overflow:auto}
.chip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:20px;padding:4px 10px;font-size:12px;cursor:pointer;background:#fafafa}
.chip:has(input:checked){background:var(--navy);color:#fff;border-color:var(--navy)}
.chip input{margin:0}
.rkpis.six{grid-template-columns:repeat(6,1fr);margin-bottom:0}
.rstrip{padding:8px 12px}
.rnote{background:#FBF9F4;font-size:11.5px;line-height:1.7}
.rsm{font-size:10.5px;margin:6px 0 0;color:var(--text)}
.rproj .kvs{gap:2px 14px} .rproj .kv{font-size:10.5px;padding:3px 0}
.pdfmode .rkpis.six{grid-template-columns:repeat(6,1fr)!important} .pdfmode .rproj .rtwo{grid-template-columns:1fr 1fr!important}
@media print{ .rkpis.six{grid-template-columns:repeat(6,1fr)!important} .rbuild,.tabs.noprint{display:none!important} }
@media screen and (max-width:900px){ .rkpis.six{grid-template-columns:repeat(3,1fr)} }

/* التقارير الفنية */
.trform .period .btnrow input{flex:1;min-width:120px}
.itemrow{display:grid;grid-template-columns:3fr 1.2fr 1fr auto;gap:6px;margin-bottom:6px}
.itemrow input{font-family:inherit;font-size:13px;padding:7px 9px;border:1px solid var(--line);border-radius:8px}
.photogrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin:6px 0}
.ph{position:relative;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fafafa}
.ph img{width:100%;height:120px;object-fit:cover;display:block}
.ph input{width:100%;border:0;border-top:1px solid var(--line);padding:6px 8px;font-family:inherit;font-size:12px}
.ph .x{position:absolute;top:4px;left:4px;background:rgba(0,0,0,.55);color:#fff;border:0;border-radius:50%;width:24px;height:24px;cursor:pointer}
.ph.new{outline:2px solid var(--lblue)}
.rsec{margin:10px 0} .rsec h3{font-size:12.5px;color:var(--navy);margin:0 0 5px;padding-bottom:4px;border-bottom:1px solid var(--line)}
.rsec .pre{font-size:11.5px;line-height:1.8;white-space:pre-wrap} .rsec .pre.bad{color:#8a3a28}
.trkv{margin-bottom:6px}
.photos{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.photos figure{margin:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}
.photos img{width:100%;height:210px;object-fit:cover;display:block;cursor:zoom-in}
.photos figcaption{font-size:10.5px;padding:5px 8px;color:var(--text);min-height:26px}
.btnrow.wrap{flex-wrap:wrap}
.pdfmode .photos{grid-template-columns:1fr 1fr!important}
@media print{ .photos{grid-template-columns:1fr 1fr!important} }
@media screen and (max-width:900px){ .itemrow{grid-template-columns:1fr 1fr;} .itemrow input:first-child{grid-column:1/-1} .photos{grid-template-columns:1fr 1fr} }

/* المستندات والاعتمادات */
.alert.warn{background:#FBF3E2;color:#7a5410;border:1px solid #efd9a6}
.ltr{direction:ltr;unicode-bidi:isolate;display:inline-block}
.specdrop{position:relative} .specdrop .opt{padding:6px 10px;border:1px solid var(--line);border-top:0;background:#fff;cursor:pointer;font-size:12.5px} .specdrop .opt:hover{background:#F3F7FA}
.specbox{background:#F6F9FB;border:1px solid var(--line);border-radius:10px;padding:8px 12px;font-size:12.5px;margin:8px 0}
.fld input[type=file]{padding:6px;background:#fafafa}
.verbar{position:fixed;bottom:0;left:0;right:0;background:var(--lblue);color:#fff;text-align:center;padding:12px;font-size:14px;cursor:pointer;z-index:200;box-shadow:0 -4px 16px rgba(0,0,0,.2)}
.seg{display:flex;flex-wrap:wrap;gap:4px 14px;margin:2px 0 6px;font-size:12.5px;color:var(--text)} .seg label{display:inline-flex;align-items:center;gap:4px;cursor:pointer}
#boqsel{width:100%}

/* الإشعارات */
.nwrap{position:relative} .nbell{background:rgba(255,255,255,.1);border:0;color:#fff;font-size:17px;border-radius:10px;padding:6px 10px;cursor:pointer;position:relative}
.nbell span{display:none;position:absolute;top:-4px;left:-4px;background:#E0533D;color:#fff;font-size:10.5px;font-weight:700;border-radius:10px;padding:1px 5px;min-width:18px;text-align:center}
.nbell.has span{display:inline-block}
.npanel{display:none;position:absolute;top:44px;left:0;width:360px;max-width:92vw;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 40px rgba(0,0,0,.22);z-index:70;overflow:hidden}
.npanel.show{display:block} .nhead{display:flex;align-items:center;gap:6px;padding:10px 12px;border-bottom:1px solid var(--line);color:var(--navy)}
#nlist{max-height:70vh;overflow:auto}
.nitem{display:flex;gap:10px;padding:10px 12px;border-bottom:1px solid #F0EDE7;text-decoration:none;color:var(--text)} .nitem:hover{background:#F6F9FB} .nitem.new{background:#EEF6FB}
.nitem .nic{font-size:18px;line-height:1.2} .nitem .nt{display:flex;flex-direction:column;gap:2px;min-width:0} .nitem b{font-size:13px;color:var(--navy)} .nitem small{font-size:11.5px;color:var(--text);white-space:normal} .nitem em{font-style:normal;font-size:10.5px;color:var(--grey)}
@media screen and (max-width:900px){ .npanel{position:fixed;top:62px;left:8px;right:8px;width:auto} }
.npanel .btn{color:var(--navy)!important;background:#fff!important;border:1px solid var(--line)!important;font-size:11.5px}

/* =====================================================================
   الواجهة الجديدة (v2) — طبقة تُعيد تعريف الرموز والهيكل والمكونات
   ===================================================================== */
:root{--bg:#F3F5F8;--surface:#FFFFFF;--surface2:#F8FAFC;--card:#F8FAFC;--line:#E3E8EE;--line2:#EEF2F6;--text:#18242F;--grey:#66768A;--muted:#66768A;--faint:#9AA7B5;
  --navy:#123B5C;--navy2:#0E2F4A;--blue:#0E7AB0;--lblue:#27A8DF;--sky2:#E6F4FB;--skytx:#0E7AB0;--sage:#2E8B57;--sagebg:#E7F5EC;--gold:#C77A00;--goldbg:#FFF3DF;--red:#C8453A;--redbg:#FCE9E7;--info:#4C6FFF;--infobg:#EAEEFF;
  --shadow:0 1px 2px rgba(18,36,47,.04),0 4px 14px rgba(18,36,47,.05);--shadow2:0 10px 30px rgba(18,36,47,.12);--r:14px;--dur:.18s;--sb:248px}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text)}
a{color:var(--skytx)}
svg.i{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:-3px}
.num,table.lst td.n,.kpi b{font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* الهيكل: قائمة جانبية + شريط علوي */
#app{display:block}
.app2{display:grid;grid-template-columns:var(--sb) 1fr;min-height:100vh;transition:grid-template-columns var(--dur) ease}
.app2.mini{--sb:68px}
.side{background:var(--surface);border-inline-start:1px solid var(--line);position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:14px 12px;gap:2px;overflow:hidden auto}
.brand{display:flex;align-items:center;gap:10px;padding:2px 6px 14px;border-bottom:1px solid var(--line2);margin-bottom:8px;text-decoration:none;color:var(--text)}
.brand img{height:38px;width:auto;max-width:130px;object-fit:contain;flex:none} .app2.mini .brand img{max-width:44px;object-fit:cover;object-position:right;border-radius:8px}
.brand div{line-height:1.2;white-space:nowrap;overflow:hidden} .brand b{display:block;font-size:13.5px} .brand small{color:var(--muted);font-size:11px}
.snav a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;color:var(--muted);font-weight:500;white-space:nowrap;text-decoration:none;font-size:13.5px;transition:background var(--dur),color var(--dur)}
.snav a:hover{background:var(--surface2);color:var(--text)} .snav a.on{background:var(--sky2);color:var(--skytx);font-weight:700}
.snav a .cnt{margin-inline-start:auto;background:var(--redbg);color:var(--red);font-size:11px;font-weight:700;border-radius:999px;padding:1px 7px;display:none} .snav a .cnt.show{display:inline-block}
.snav .sec{font-size:10.5px;letter-spacing:.06em;color:var(--faint);padding:12px 10px 4px;white-space:nowrap;font-weight:700}
.app2.mini .brand div,.app2.mini .snav a span,.app2.mini .snav .sec,.app2.mini .snav a .cnt{display:none} .app2.mini .snav a{justify-content:center;padding:10px}
.side .fold{margin-top:auto;color:var(--faint);display:flex;justify-content:center;padding:8px;border-top:1px solid var(--line2);cursor:pointer;background:none;border-inline:0;border-bottom:0} .side .fold:hover{color:var(--text)}
.app2.mini .side .fold svg{transform:rotate(180deg)}
.mainwrap{min-width:0;padding:0 24px 40px;overflow-x:clip}
.topbar{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;gap:10px;padding:12px 0 10px;margin-bottom:4px}
.gsearch{flex:1;max-width:460px;display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:8px 12px;color:var(--faint);box-shadow:var(--shadow);cursor:text;transition:border-color var(--dur)} .gsearch:hover{border-color:var(--lblue)}
.gsearch kbd{margin-inline-start:auto;font-family:inherit;font-size:11px;border:1px solid var(--line);border-radius:6px;padding:1px 6px;color:var(--muted);background:var(--surface2)}
.ib{width:38px;height:38px;border-radius:12px;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;color:var(--muted);position:relative;box-shadow:var(--shadow);cursor:pointer;transition:transform var(--dur),color var(--dur);padding:0;font-size:16px}
.ib:hover{color:var(--text);transform:translateY(-1px)}
.user{display:flex;align-items:center;gap:9px;padding:4px 6px 4px 12px;border-radius:12px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow)}
.user .av{width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:800;font-size:12px} .user div{line-height:1.15;text-align:right} .user b{font-size:13px;display:block;color:var(--text)} .user small{color:var(--muted);font-size:11px}
main#main{padding:4px 0 40px;max-width:1360px;margin:0} main#main.pagein{animation:pagein .28s cubic-bezier(.2,.8,.2,1) both}
@keyframes pagein{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.who{display:none}
/* الجرس في الشريط العلوي */
.nwrap .nbell{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:12px;width:38px;height:38px;padding:0;display:grid;place-items:center;box-shadow:var(--shadow)}
.nwrap .nbell span{top:-5px;left:-5px}
.npanel{top:46px;left:auto;right:0;box-shadow:var(--shadow2)} .npanel .btn{font-size:11.5px}
.verbar{background:var(--navy)}

/* الشريط السفلي والقائمة الكاملة في الجوال */
.bottom{display:none}
.sheet{position:fixed;inset:0;background:rgba(14,47,74,.45);z-index:120;display:none;align-items:flex-end} .sheet.show{display:flex}
.sheet .sh{background:var(--surface);width:100%;border-radius:18px 18px 0 0;padding:14px 14px calc(16px + env(safe-area-inset-bottom,0px));max-height:80vh;overflow:auto;animation:up .22s ease}
@keyframes up{from{transform:translateY(30px);opacity:0}to{transform:none;opacity:1}}
.sheet .sh a{display:flex;align-items:center;gap:10px;padding:11px 10px;border-radius:10px;text-decoration:none;color:var(--text);font-weight:600} .sheet .sh a.on{background:var(--sky2);color:var(--skytx)}
.sheet .sh .sec{font-size:10.5px;color:var(--faint);padding:10px 10px 2px;font-weight:700}

/* البطاقات والمؤشرات */
.pcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:16px 18px}
.pcard h2{font-size:14.5px;font-weight:800;color:var(--text);margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid var(--line2)}
.pcard h2 .ic{display:none}
.pcard h2 a.small{margin-inline-start:auto;color:var(--skytx);font-weight:700;font-size:12.5px}
.pagetitle{font-size:22px;font-weight:800;color:var(--text);letter-spacing:-.01em}
.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:6px 0 14px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:10px 0 16px}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;min-width:0;box-shadow:var(--shadow);text-decoration:none;display:flex;flex-direction:column;gap:4px;transition:transform var(--dur),box-shadow var(--dur)}
a.kpi:hover{transform:translateY(-2px);box-shadow:var(--shadow2)}
.kpi b{font-size:26px;font-weight:800;color:var(--text);letter-spacing:-.02em;line-height:1.1} .kpi span{font-size:12.5px;color:var(--muted);line-height:1.4}
.kpi.bad b{color:var(--red)} .kpi b small{font-size:12px;color:var(--muted);font-weight:500}
.kpis.hero .kpi{padding:16px 18px} .kpis.hero .kpi b{font-size:30px}
.stagebar{gap:8px} .stagecell{border-radius:12px;border-top-width:3px;box-shadow:none;background:var(--surface2);transition:transform var(--dur)} .stagecell:hover{transform:translateY(-2px);background:var(--surface)}
.two{gap:14px}
/* صندوق الإجراءات */
.inbox .it{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line2);transition:background var(--dur)} .inbox .it:last-child{border-bottom:0}
.inbox .ic{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex:none;font-size:16px}
.inbox .ic.a{background:var(--goldbg);color:var(--gold)} .inbox .ic.b{background:var(--infobg);color:var(--info)} .inbox .ic.c{background:var(--sky2);color:var(--skytx)} .inbox .ic.d{background:var(--redbg);color:var(--red)} .inbox .ic.e{background:var(--sagebg);color:var(--sage)}
.inbox .t{min-width:0;flex:1} .inbox .t b{display:block;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .inbox .t small{color:var(--muted)}
.inbox .age{color:var(--faint);font-size:12px;white-space:nowrap} .inbox .age.bad{color:var(--red)}
.donut{display:flex;align-items:center;gap:18px} .donut svg{width:150px;height:150px;flex:none} .leg{display:grid;gap:6px;flex:1;min-width:0} .leg div{display:flex;align-items:center;gap:8px;font-size:12.5px} .leg i{width:10px;height:10px;border-radius:3px;flex:none} .leg b{margin-inline-start:auto}
.tl .e{display:grid;grid-template-columns:24px 1fr;gap:10px;padding:8px 0;position:relative} .tl .e::before{content:"";position:absolute;right:11px;top:28px;bottom:-8px;width:2px;background:var(--line2)} .tl .e:last-child::before{display:none}
.tl .e i{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--sky2);color:var(--skytx);font-size:12px;z-index:1;font-style:normal} .tl .e b{display:block;font-size:13px} .tl .e small{color:var(--muted)}

/* الجداول */
table.lst{font-size:13.5px}
table.lst th{background:transparent;color:var(--muted);font-size:11.5px;font-weight:700;padding:10px 10px;border-bottom:1px solid var(--line2);letter-spacing:.02em}
table.lst td{padding:11px 10px;border-bottom:1px solid var(--line2)}
table.lst tbody tr{transition:background var(--dur)} table.lst tr[data-open]:hover td,table.lst tbody tr:hover td{background:var(--surface2)}
table.lst tr.hl td{background:var(--goldbg)}
table.lst tfoot td{font-weight:700;background:var(--surface2)}
.bar{height:6px;background:var(--line2);border-radius:999px;margin:3px 0} .bar i{background:var(--lblue);border-radius:999px;transition:width .6s cubic-bezier(.2,.8,.2,1)}
.empty-boq{background:var(--surface);border:1px dashed var(--line);border-radius:var(--r);padding:28px;text-align:center;color:var(--muted)}

/* الشارات — نظام موحد: رمادي مسودة · أزرق قيد الإجراء · برتقالي بانتظار · أخضر منتهٍ · أحمر متأخر/مرفوض */
.badge{font-size:11.5px;font-weight:700;padding:2px 9px;border-radius:999px;display:inline-flex;align-items:center;gap:5px;line-height:1.6}
.badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.badge.full{background:var(--sagebg);color:var(--sage)} .badge.ovr{background:var(--goldbg);color:var(--gold)} .badge.bad{background:var(--redbg);color:var(--red)} .badge.skel{background:var(--surface2);color:var(--muted)} .badge.info{background:var(--infobg);color:var(--info)} .badge.sky{background:var(--sky2);color:var(--skytx)}
.stage{border-radius:999px;font-size:11.5px;padding:3px 10px}
.alert{border-radius:12px} .alert.bad{background:var(--redbg);color:var(--red);border-color:#F2C9C4} .alert.warn{background:var(--goldbg);color:var(--gold);border-color:#F1DDB3}

/* الأزرار والنماذج */
.btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:10px;padding:8px 14px;font-weight:700;font-size:13px;cursor:pointer;text-decoration:none;transition:transform var(--dur),box-shadow var(--dur),background var(--dur),border-color var(--dur)}
.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow)}
.btn.primary{background:var(--navy);border-color:var(--navy);color:#fff} .btn.primary:hover{background:var(--navy2)}
.btn.danger{background:var(--surface);color:var(--red);border-color:#F2C9C4} .btn.danger:hover{background:var(--redbg)}
.btn.sm{padding:5px 10px;font-size:12px;border-radius:8px} .btn:disabled{opacity:.55;cursor:default;transform:none;box-shadow:none}
.fld{font-size:12.5px;color:var(--muted);font-weight:500} .fld>span{font-weight:700;color:var(--text);font-size:12.5px}
.fld input,.fld select,.fld textarea,.filters input,.filters select{font-size:13.5px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);transition:border-color var(--dur),box-shadow var(--dur)}
.fld input:focus,.fld select:focus,.fld textarea:focus,.filters input:focus,.filters select:focus{outline:none;border-color:var(--lblue);box-shadow:0 0 0 3px rgba(39,168,223,.18)}
.filters{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:8px 10px;margin:0 0 14px;box-shadow:var(--shadow)} .filters input{min-width:200px}
.chip{border-radius:999px;background:var(--surface2);border:1px solid var(--line);transition:background var(--dur)} .chip:has(input:checked){background:var(--navy);color:#fff;border-color:var(--navy)}
.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:14px;overflow:auto}
.tabs a,.tabs button{text-decoration:none;color:var(--muted);font-weight:700;padding:10px 14px;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;background:none;border-top:0;border-inline:0;font-size:13.5px;transition:color var(--dur)}
.tabs a:hover,.tabs button:hover{color:var(--text)} .tabs a.on,.tabs button.on{color:var(--skytx);border-bottom-color:var(--lblue)}
.subtabs{display:flex;gap:6px;flex-wrap:wrap;margin:-4px 0 14px} .subtabs a{font-size:12.5px;font-weight:700;padding:5px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--muted);text-decoration:none;transition:background var(--dur),color var(--dur)} .subtabs a.on{background:var(--navy);border-color:var(--navy);color:#fff}
.toast{border-radius:12px;box-shadow:var(--shadow2)}
/* النوافذ */
.mwrap{background:rgba(14,47,74,.42);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);padding:36px 12px}
.modal{border-radius:18px;box-shadow:var(--shadow2);animation:pop .22s cubic-bezier(.2,.8,.2,1)} @keyframes pop{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
.mhead{border-bottom:1px solid var(--line2)} .mhead h3{font-size:15.5px;font-weight:800;color:var(--text)} .mhead .x{width:32px;height:32px;border-radius:9px;transition:background var(--dur)} .mhead .x:hover{background:var(--surface2)}
/* صفحة المشروع */
.phead{margin-bottom:10px}
.ptitle h1{font-size:21px;font-weight:800;color:var(--text);line-height:1.3}
.stageline{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px 10px;margin:12px 0}
.sl{font-size:11.5px;color:var(--faint)} .sl i{width:16px;height:16px;border:2px solid var(--line);background:var(--surface);box-shadow:none;margin-bottom:6px} .sl::before{background:var(--line);top:7px;z-index:0}
.sl.done{color:var(--muted)} .sl.done i{background:var(--sage);border-color:var(--sage)} .sl.done::before{background:var(--sage)}
.sl.cur{color:var(--text);font-weight:800} .sl.cur i{background:var(--c,var(--lblue));border-color:var(--c,var(--lblue));box-shadow:0 0 0 5px var(--sky2)} .sl.cur::before{background:var(--sage)}
.crumb{font-size:12.5px} .crumb a{color:var(--muted)} .crumb a:hover{color:var(--skytx)}
.kv{border-bottom:1px dashed var(--line2);font-size:13.5px;padding:8px 0} .kv span{color:var(--muted)} .kv b{color:var(--text)}
.g3{display:grid;grid-template-columns:2fr 1fr;gap:14px} .g3>*{min-width:0} .stack{display:grid;gap:14px;align-content:start}
.fincard .big{font-size:26px;font-weight:800;letter-spacing:-.02em} .fincard .big small{font-size:12px;color:var(--muted);font-weight:500} .fincard .row{display:flex;justify-content:space-between;font-size:13px;padding:4px 0}
.upd{border-bottom:1px solid var(--line2)}
.auth{min-height:100vh;background:radial-gradient(1200px 600px at 80% -10%,var(--sky2),transparent),var(--bg)} .authbox{border-radius:20px;box-shadow:var(--shadow2)}
.loading{padding:70px;color:var(--muted)} .spin{border-color:var(--line2);border-top-color:var(--lblue)}
/* البحث السريع */
.pal{position:fixed;inset:0;background:rgba(14,47,74,.42);z-index:300;display:flex;justify-content:center;align-items:flex-start;padding:80px 12px}
.pal .box{background:var(--surface);width:100%;max-width:620px;border-radius:16px;box-shadow:var(--shadow2);overflow:hidden;animation:pop .2s ease}
.pal input{width:100%;border:0;border-bottom:1px solid var(--line2);padding:16px 18px;font-family:inherit;font-size:16px;background:transparent;color:var(--text);outline:none}
.pal .res{display:flex;gap:10px;align-items:center;padding:10px 16px;border:0;border-radius:0;margin:0;background:none;text-decoration:none;color:var(--text)} .pal .res:hover,.pal .res.sel{background:var(--surface2)} .pal .res small{color:var(--muted);margin-inline-start:auto;white-space:nowrap}
.pal .list{max-height:60vh;overflow:auto;padding:6px 0}
/* الطباعة */
@media print{ .side,.topbar,.bottom,.sheet,.verbar{display:none!important} .app2{display:block} .mainwrap{padding:0} }
/* الجوال */
@media screen and (max-width:900px){
  .app2{grid-template-columns:1fr} .side{display:none} .mainwrap{padding:0 14px 90px} .topbar{padding:10px 0} .user div{display:none} .gsearch kbd{display:none} .user{padding:4px}
  .kpis{grid-template-columns:1fr 1fr;gap:10px} .kpi b{font-size:22px} .kpis.hero .kpi b{font-size:24px} .two,.g3{grid-template-columns:1fr} .kvs{grid-template-columns:1fr}
  .bottom{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px));justify-content:space-around;z-index:110}
  .bottom a{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10.5px;color:var(--muted);padding:4px 8px;border-radius:10px;position:relative;text-decoration:none;font-weight:600} .bottom a.on{color:var(--skytx)} .bottom a .cnt{position:absolute;top:0;right:4px;background:var(--red);color:#fff;font-size:9.5px;border-radius:999px;padding:0 5px;display:none} .bottom a .cnt.show{display:block}
  .mwrap{padding:0;align-items:flex-end} .modal{max-width:none;border-radius:18px 18px 0 0;max-height:94vh;overflow:auto;animation:up .22s ease} .modal.wide{max-width:none}
  .pal{padding:12px} .pagetitle{font-size:19px} .filters input{min-width:0;width:100%}
}
/* المرجع الفني داخل الهيكل الجديد */
.refwrap{height:calc(100vh - 70px);margin:0 0 -40px;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}
@media screen and (max-width:900px){ .refwrap{height:auto;min-height:60vh;margin-bottom:0} .npanel{top:56px} }
.verbar{right:var(--sb);left:0} .app2.mini ~ .verbar{right:68px}
@media screen and (max-width:900px){ .verbar{right:0;bottom:64px} }
.gsearch span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand img{max-width:96px} .brand b{font-size:12.5px}
@media screen and (max-width:900px){ .gsearch{max-width:none;flex:1;padding:8px 10px} .topbar .user{order:-1} }
.two>*,.g3>*,.stack>*,.kpis>*,.dash>*{min-width:0} .inbox .it{min-width:0}
.tabs{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;padding-bottom:1px} .tabs::-webkit-scrollbar{display:none}
.brand div{white-space:normal} .brand b{font-size:12.5px;line-height:1.25} .brand small{display:block}
/* يومي */
.today .hero{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap;padding:22px 24px;border-radius:var(--r);margin:6px 0 16px;background:linear-gradient(135deg,var(--sky2),var(--surface));border:1px solid var(--line);box-shadow:var(--shadow)}
.today .hero.pm{background:linear-gradient(135deg,#FFF3DF,var(--surface))}
.today .hero h1{margin:4px 0 6px;font-size:22px;font-weight:800;line-height:1.35} .today .hero p{margin:0;color:var(--muted);font-size:14px}
.today .nitem{border-bottom:1px solid var(--line2);border-radius:8px} .today .nitem.new{background:var(--sky2)}
.fld input.money{text-align:left;font-variant-numeric:tabular-nums;direction:ltr}
.cl-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line2)} .cl-item.done b{color:var(--muted);text-decoration:line-through} .cl-item .chk{flex:1;font-size:13.5px} .cl-item .btn.ghost{border:0;background:none;padding:4px}

/* ===== الجدول الزمني ===== */
.sched .toolbar{flex-wrap:wrap;gap:8px}
.sched #sMode{max-width:100%}
.guide{background:linear-gradient(135deg,#fff 0%,#EEF6FB 100%);border:1px solid #CFE6F3}
.guide h2{margin:0 0 10px;display:flex;align-items:center;gap:8px}
.guide .steps{display:grid;gap:10px}
.guide .step{display:flex;gap:12px;align-items:flex-start}
.guide .step>i{flex:none;width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;font-style:normal;font-weight:800;display:grid;place-items:center;font-size:14px}
.guide .step>div>b{display:block;margin-bottom:2px}
.guide .step p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.75}
.scurve text{font-family:inherit}
table.gantt th{position:relative}
.gt-months{position:relative;height:18px;direction:ltr}
.gt-months span{position:absolute;top:0;transform:translateX(-50%);font-size:11px;color:var(--muted);white-space:nowrap}
.gt-track{position:relative;height:22px;background:repeating-linear-gradient(90deg,transparent 0 24px,var(--line2) 24px 25px);border-radius:6px;direction:ltr;min-width:340px}
.gt-bar{position:absolute;top:4px;height:14px;background:#D6E9F5;border:1px solid #9FCBE6;border-radius:4px;overflow:hidden}
.gt-bar>i{display:block;height:100%;background:var(--lblue)}
.gt-bar.late{border-color:var(--red);background:#FBE1E1}
.gt-bar.late>i{background:var(--red)}
.gt-base{position:absolute;top:19px;height:3px;background:var(--faint);border-radius:2px}
.gt-ms{position:absolute;top:5px;width:12px;height:12px;background:var(--navy);transform:translateX(-50%) rotate(45deg);border-radius:2px}
.gt-ms.ok{background:var(--sage)}.gt-ms.late{background:var(--red)}.gt-ms.act{background:var(--sage);opacity:.5;width:8px;height:8px;top:7px}
.gt-today{position:absolute;top:0;bottom:0;width:0;border-left:2px dashed var(--gold);z-index:1}
.gt-months .gt-today{top:-4px;bottom:-4px}
table.gantt tr.ms td{background:#FBFCFE}
.pct-in{width:64px;padding:5px 6px;border:1px solid var(--line);border-radius:8px;text-align:center;font-weight:700;font-family:inherit}
.pct-in:focus{border-color:var(--lblue);outline:none;box-shadow:0 0 0 3px rgba(39,168,223,.15)}
@media (max-width:720px){.gt-track{min-width:260px}.sched .toolbar .btn{padding:6px 10px;font-size:13px}}

/* ===== التحديات والمخاطر ===== */
.chlist{display:grid;gap:8px}
.chc{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;transition:box-shadow .15s,border-color .15s}
.chc:hover{border-color:var(--lblue);box-shadow:0 2px 8px rgba(18,59,92,.08)}
.chc.off{opacity:.6}
.chc.late{border-right:4px solid var(--red)}
.chc-main{flex:1;min-width:0}
.chc-main>b{display:block;font-size:14px;line-height:1.5}
.chc-sub{margin:2px 0 4px}
.chc-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.chc-meta .badge svg{width:12px;height:12px;vertical-align:-2px}
.chc .chev{color:var(--faint);flex:none}
.score{flex:none;width:52px;height:52px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1;font-weight:800}
.score b{font-size:20px}.score small{font-size:10px;font-weight:600;opacity:.85}
.score.high{background:var(--redbg);color:var(--red);border:1px solid #F2C9C4}
.score.mid{background:var(--goldbg);color:var(--gold);border:1px solid #F1DDB3}
.score.low{background:var(--sagebg);color:var(--sage);border:1px solid #CFE3D6}
.chhead{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.chhead>div{flex:1;min-width:0}
.chhead h3{font-size:16px;line-height:1.5}
.chsec{border-top:1px solid var(--line);padding-top:10px;margin-top:10px}
.chsec h4{font-size:14px;color:var(--navy);display:flex;align-items:center;gap:6px}
.chnote{display:flex;gap:6px;margin-bottom:8px}
.chnote input{flex:1;padding:7px 10px;border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:13px}
@media (max-width:720px){.chc{align-items:flex-start}.score{width:44px;height:44px}.score b{font-size:16px}.chc .chev{display:none}}

/* ===== الحركة والصقل ===== */
.sk{display:block;border-radius:6px;background:linear-gradient(90deg,var(--line2) 25%,#EEF2F6 50%,var(--line2) 75%);background-size:400% 100%;animation:skm 1.2s ease-in-out infinite;margin:6px 0}
@keyframes skm{from{background-position:100% 0}to{background-position:0 0}}
.skw{animation:pagein .2s ease both}.skh{margin:6px 0 14px}
.skc{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;margin-bottom:12px}
.kpi .sk{margin:4px 0}
.fx-in{animation:fxin .38s cubic-bezier(.2,.8,.2,1) both}
@keyframes fxin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.toast{transform:translateY(14px) scale(.98);transition:opacity .22s,transform .22s cubic-bezier(.2,.8,.2,1)} .toast.show{transform:none}
.btn{transition:background .15s,border-color .15s,box-shadow .15s,transform .12s} .btn:active{transform:scale(.97)}
.btn.primary:hover{box-shadow:0 4px 12px rgba(18,59,92,.22)}
.pcard{transition:box-shadow .2s}
tr[data-open]{transition:background .15s} tr[data-open]:hover{background:#F7FAFD}
.inbox .it{transition:background .15s,transform .15s} .inbox .it:hover{background:var(--bg);transform:translateX(-2px)}
.kpi{transition:transform .18s,box-shadow .18s} a.kpi:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(18,59,92,.10)}
.tabs a,.subtabs a{transition:color .15s,background .15s,border-color .15s}
.side .snav a{transition:background .15s,color .15s}
.modal{animation:pop .24s cubic-bezier(.2,.8,.2,1) both} .mwrap{animation:fade .2s ease both}
@keyframes fade{from{opacity:0}to{opacity:1}}
.badge{transition:none}
.donut svg circle{transition:stroke-dasharray .8s cubic-bezier(.2,.8,.2,1)}
.scurve polyline{stroke-dasharray:2000;stroke-dashoffset:2000;animation:draw 1.4s cubic-bezier(.4,0,.2,1) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.gt-bar>i{transition:width .6s cubic-bezier(.2,.8,.2,1)}
.fx-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:26px 20px}
.fx-empty svg{width:96px;height:72px;opacity:.9}
.fx-empty>div{font-size:13.5px;color:var(--muted);line-height:1.7;max-width:420px}
.fx-empty .btn{margin-top:4px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* أدوات تنسيق موحدة بدل التنسيقات المكتوبة يدوياً */
.sp{flex:1}.m0{margin:0}.mt8{margin-top:8px}.mt10{margin-top:10px}.mt12{margin-top:12px}.mb8{margin-bottom:8px}.mb10{margin-bottom:10px}.mb12{margin-bottom:12px}
.pcard.flat{padding:0;overflow:auto}
h2.m0,h3.m0,p.m0,.toolbar h2.m0{margin:0}
/* أشرطة أفقية للمالية */
.hbars{display:grid;gap:8px}
.hb{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,2fr) 58px;gap:10px;align-items:center;text-decoration:none;color:inherit;font-size:12.5px}
.hb-l{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}
.hb-t{position:relative;height:10px;background:var(--line2);border-radius:999px;overflow:visible;direction:ltr}
.hb-t .hb-paid{position:absolute;left:0;top:0;height:100%;background:var(--lblue);border-radius:999px;transition:width .7s cubic-bezier(.2,.8,.2,1)}
.hb-t .hb-prog{position:absolute;top:-3px;width:2px;height:16px;background:var(--navy);border-radius:2px;transform:translateX(-1px)}
.hb-v{display:flex;flex-direction:column;line-height:1.1;text-align:left;direction:ltr}.hb-v b{font-size:13px;color:var(--text)}.hb-v small{font-size:10.5px;color:var(--muted)}
.hb:hover .hb-l{color:var(--lblue)}
.hb-legend{display:flex;gap:14px;margin-top:10px;font-size:11.5px;color:var(--muted)}
.hb-legend i{display:inline-block;width:14px;height:8px;border-radius:4px;vertical-align:middle;margin-left:4px}
.hb-legend .hb-paid{background:var(--lblue)}.hb-legend .hb-prog{width:2px;height:12px;background:var(--navy)}

/* ===== الجوال: الجداول بطاقات، والنماذج صفحات كاملة ===== */
@media (max-width:720px){
  table.lst.cards,table.lst.cards tbody{display:block}
  table.lst.cards thead{display:none}
  table.lst.cards tbody{display:grid;gap:8px;padding:2px 0}
  table.lst.cards tr{display:grid;grid-template-columns:1fr 1fr;gap:3px 12px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px;box-shadow:0 1px 2px rgba(18,59,92,.04)}
  table.lst.cards tr[data-open]:active{background:var(--surface2)}
  table.lst.cards td{display:flex;flex-direction:column;gap:1px;padding:3px 0!important;border:0!important;font-size:12.5px;min-width:0;text-align:right!important;direction:rtl}
  table.lst.cards td::before{content:attr(data-l);font-size:10.5px;color:var(--muted);font-weight:700;line-height:1.3}
  table.lst.cards td.m-title{grid-column:1/-1;font-size:14px;line-height:1.5;padding-bottom:5px!important;border-bottom:1px solid var(--line2)!important;margin-bottom:3px}
  table.lst.cards td.m-title::before{display:none}
  table.lst.cards td.m-title{order:-2} table.lst.cards td.m-sub{order:-1;grid-column:1/-1;font-size:12px;margin-top:-4px;padding-bottom:6px!important} table.lst.cards td.m-sub::before{display:none}
  table.lst.cards td{align-items:flex-start} table.lst.cards td.m-title,table.lst.cards td.m-sub{display:block}
  table.lst.cards td.mh,table.lst.cards td.m-empty{display:none}
  table.lst.cards td.m-act{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;gap:6px;padding-top:8px!important;border-top:1px solid var(--line2)!important;margin-top:3px}
  table.lst.cards td.m-act::before{display:none}
  table.lst.cards td .bar{margin-top:3px}
  table.lst.cards td.n{direction:rtl}
  table.lst.cards tr.off{opacity:.55}
  .pcard.flat{padding:10px!important;background:transparent;border:0;box-shadow:none}
  .pcard.flat table.lst.cards tbody{padding:0}
  /* النماذج: صفحة كاملة تنزلق من الأسفل مع أزرار ثابتة في القاع */
  .mwrap{padding:0;align-items:flex-end}
  .modal{max-width:none;border-radius:18px 18px 0 0;max-height:96dvh;display:flex;flex-direction:column;overflow:hidden;animation:up .26s cubic-bezier(.2,.8,.2,1)}
  .modal.wide,.modal:has(form#f){height:96dvh}
  .mhead{flex:none;padding:12px 16px}
  .mbody{flex:1;overflow:auto;-webkit-overflow-scrolling:touch;padding:14px 16px calc(14px + env(safe-area-inset-bottom,0px))}
  .pgrid{grid-template-columns:1fr;gap:9px}
  .fld input,.fld select,.fld textarea{font-size:16px;padding:9px 10px}
  .mbody form .btnrow.end{position:sticky;bottom:calc(-14px - env(safe-area-inset-bottom,0px));background:#fff;margin:6px -16px 0;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line2);z-index:2;flex-wrap:wrap}
  .mbody form .btnrow.end .btn{flex:1 1 auto;justify-content:center;text-align:center;padding:10px 12px}
  .mbody form .btnrow.end .btn.danger{flex:0 0 auto}
  .filters{gap:6px} .filters select{flex:1 1 45%;min-width:0} .filters .chk{font-size:12px}
  .toolbar{flex-wrap:wrap;gap:8px} .toolbar .btn{padding:7px 11px;font-size:13px}
}
.boqbox.hint{border-color:#E9D8A6;background:#FFFCF3}
.linkrow{display:flex;gap:6px;align-items:center}
.linkrow input{flex:1;min-width:0;font-family:ui-monospace,Menlo,monospace;font-size:12px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text)}
/* محرر جدول الكميات على الجوال: بلا تمدد أفقي للصفحة */
@media (max-width:720px){
  .cascade{grid-template-columns:1fr 1fr} .cascade select{min-width:0}
  .pick{grid-template-columns:1fr 1fr} .pick .info{grid-column:1/-1} .pick input[type=number],.pick input[type=text]{width:100%} .pick .btn{grid-column:1/-1}
  .tblwrap-bq{overflow:auto;-webkit-overflow-scrolling:touch} table.bq{min-width:760px}
  .qsearch .drop div{font-size:12px}
  .pcard,.mainwrap{min-width:0}
}
@media (max-width:720px){html,body{overflow-x:clip} .qsearch .drop{max-width:100%;overflow-x:hidden} .qsearch .drop div{white-space:normal;overflow-wrap:anywhere}}

/* ===== بنود المقطوعية ===== */
.lspick{display:flex;flex-direction:column;gap:10px;max-height:min(72vh,760px)}
.lspick .lstop{display:flex;flex-direction:column;gap:8px}
.lspick .lstop input[type=search]{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:10px;font:inherit}
.lspick .chips .chip.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.lspick .lsbody{overflow:auto;border:1px solid var(--line2);border-radius:12px;padding:4px 10px;flex:1;min-height:200px}
.lsg{padding:6px 0 8px;border-bottom:1px solid var(--line2)} .lsg:last-child{border-bottom:0}
.lsgh{display:flex;align-items:center;justify-content:space-between;padding:8px 4px 6px;position:sticky;top:0;background:#fff;z-index:1}
.lsgh b{font-size:13.5px;color:var(--navy)} .lsgh .lnk{border:0;background:none;color:var(--blue);font:inherit;font-size:12px;cursor:pointer}
.lsi{display:grid;grid-template-columns:auto auto 1fr;gap:10px;align-items:start;padding:8px 6px;border-radius:10px;cursor:pointer}
.lsi:hover{background:var(--bg2,#f6f8fb)} .lsi.have{opacity:.55} .lsi.have .lst b::after{content:' · موجود';color:var(--muted);font-weight:500;font-size:11px}
.lsi input{margin-top:4px} .lsi .cd{margin-top:2px}
.lsi .lst b{display:block;font-size:13.5px;line-height:1.4} .lsi .lst small{display:block;color:var(--grey);font-size:12px;line-height:1.6;margin-top:2px}
.lsi:has(input:checked){background:var(--goldbg)}
.lsfoot{display:flex;flex-direction:column;gap:8px;padding-top:4px;border-top:1px solid var(--line2)}
table.bq tr.freerow td .spec{color:var(--grey);font-size:12px;line-height:1.65;margin-top:3px}
@media (max-width:720px){ .lspick{max-height:none} .lspick .lsbody{min-height:0;max-height:48vh} .lsi{grid-template-columns:auto 1fr} .lsi .cd{display:none} .lsi .lst small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden} }
.lsi.adm{grid-template-columns:auto 1fr auto;cursor:default} .lsi.adm:hover{background:none} .lsi.off{opacity:.5} .lsi .acts{align-self:center}
@media (max-width:720px){ .lsi.adm{grid-template-columns:1fr auto} .lsi.adm .lst small{-webkit-line-clamp:3} }

/* ===== حزمة الطرح ===== */
.tbox.hint{border-color:#E7D9B0;background:linear-gradient(180deg,#FFFBF0,#fff)}
.tlist .ti,.tchk .ti{display:flex;align-items:flex-start;gap:10px;padding:7px 0;border-bottom:1px solid var(--line2);font-size:13px}
.tlist .ti:last-child,.tchk .ti:last-child{border-bottom:0}
.ti .dot{flex:none;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--line);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;margin-top:1px}
.ti.ok .dot{background:var(--sage);border-color:var(--sage)}
.ti.req:not(.ok) .dot{border-color:var(--gold);border-style:dashed}
.tchk .ti .tx{flex:1} .tchk .ti .tx b{display:block;font-size:13.5px} .tchk .ti .tx small{display:block;color:var(--grey);font-size:12px;line-height:1.6;margin-top:2px}
.tchk .ti .btn{align-self:center}
.tready{display:flex;align-items:center;gap:16px;padding:12px 14px;border:1px solid var(--line2);border-radius:12px;margin:10px 0 6px;background:var(--surface2,#FAF8F5)}
.tready>div:first-child{flex:1} .tready .bar{max-width:420px}
.tpct{font-size:24px;font-weight:800;color:var(--gold);min-width:64px;text-align:center} .tpct.ok{color:var(--sage)}
@media (max-width:720px){ .tready{flex-direction:column;align-items:stretch;gap:8px} .tpct{text-align:right;font-size:20px} .tchk .ti{flex-wrap:wrap} .tchk .ti .btn{margin-inline-start:30px} }

/* ===== الإجازات والتغطية ===== */
.lcalcard .legend{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:11.5px;color:var(--grey);align-items:center}
.legend i{display:inline-block;width:12px;height:12px;border-radius:4px;margin-inline-end:4px;vertical-align:-2px;background:var(--line)}
.k-annual{background:#DCEBF7;color:#153E5C} .k-emergency{background:#F4E3D3;color:#7A3B14} .k-sick{background:#F6D9D9;color:#8A1F1F} .k-mission{background:#E3EBD9;color:#3F5A2A} .k-unpaid{background:#EDE7DA;color:#5C4E28} .k-other{background:#E8E6F2;color:#3F3A6B}
.legend i.pend{background:#fff;border:1.5px dashed var(--grey)} .legend i.conf{background:#FFE3E0;border:1px solid #E88}
.lcal{margin-top:10px;border:1px solid var(--line2);border-radius:12px;overflow:hidden}
.lhead{display:grid;grid-template-columns:repeat(7,1fr);background:var(--surface2,#FAF8F5);font-size:12px;color:var(--grey);text-align:center}
.lhead div{padding:7px 2px;border-bottom:1px solid var(--line2)}
.lgrid{display:grid;grid-template-columns:repeat(7,1fr)}
.lc{min-height:92px;border-bottom:1px solid var(--line2);border-inline-start:1px solid var(--line2);padding:5px 6px;position:relative;background:#fff}
.lc:nth-child(7n+1){border-inline-start:0}
.lc.off{background:#FAFAFA} .lc.we{background:#FBFAF7} .lc.hol{background:#FFF8E8} .lc.conf{background:#FFF0EE;box-shadow:inset 0 0 0 1.5px #E9A3A3}
.lc.today .dn b{background:var(--navy);color:#fff;border-radius:50%;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center}
.lc .dn{font-size:12.5px;color:var(--navy)} .lc .dn b{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.lc .dn small{font-weight:500;color:#8A6D1F;font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.lc .chips{display:flex;flex-direction:column;gap:3px;margin-top:5px}
.lchip{display:block;font-size:11.5px;border-radius:6px;padding:2px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;font-weight:600}
.lchip.pend{background:#fff!important;border:1.5px dashed currentColor;opacity:.85}
.lchip.more{background:var(--surface2,#F2EFEA);color:var(--grey);text-align:center}
.lvinfo{font-size:13px;color:var(--navy);background:var(--surface2,#FAF8F5);border-radius:10px;padding:8px 12px;min-height:20px}
.holist{display:flex;flex-direction:column;gap:4px}
.hoi{display:flex;align-items:flex-start;gap:8px;padding:6px 8px;border:1px solid var(--line2);border-radius:8px;font-size:13px;background:#fff}
.hoi.done span{text-decoration:line-through;color:var(--muted)} .hoi span{flex:1} .hoi .x{border:0;background:none;color:var(--muted);cursor:pointer;font-size:13px}
.hoi input[type=checkbox]{margin-top:3px}
.lvdet .kvs{margin-bottom:6px}
.kpi.bad b{color:var(--red)}
@media (max-width:720px){
  .lhead div{font-size:10.5px;padding:5px 0} .lc{min-height:62px;padding:3px 3px} .lc .dn{font-size:11px} .lc .dn small{display:none}
  .lchip{font-size:9.5px;padding:1px 3px;border-radius:4px} .lc .chips{gap:2px;margin-top:3px}
  .lcalcard .legend{display:none}
}

/* ===== الإجراء السريع ودرج المشروع ===== */
.it.qi{cursor:pointer;transition:background .15s,opacity .4s,transform .4s} .it.qi:hover{background:var(--surface2,#FAF8F5)} .it.qi:focus-visible{outline:2px solid var(--lblue);outline-offset:2px}
.it.qi.done{opacity:0;transform:translateX(-12px);pointer-events:none}
.it.qi .btn{pointer-events:none}
.qd{border:0;background:none;cursor:pointer;font-size:13px;opacity:.45;padding:0 4px;vertical-align:middle} tr:hover .qd{opacity:1}
.qphotos{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px} .qphotos img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;border:1px solid var(--line2)}
.pdrawer{position:fixed;inset:0;z-index:150;pointer-events:none} .pdrawer .pdov{position:absolute;inset:0;background:rgba(21,62,92,.28);opacity:0;transition:opacity .25s} .pdrawer.on{pointer-events:auto} .pdrawer.on .pdov{opacity:1}
.pdbox{position:absolute;top:0;bottom:0;inset-inline-end:0;width:min(520px,100%);background:#fff;box-shadow:-12px 0 40px rgba(0,0,0,.18);transform:translateX(-105%);transition:transform .28s cubic-bezier(.2,.8,.2,1);overflow:auto}
.pdrawer.on .pdbox{transform:none}
.pdbody{padding:16px 20px 32px} .pdhead h2{margin:8px 0 4px;font-size:19px;color:var(--navy);line-height:1.35} .pdnav{display:flex;align-items:center;gap:8px}
.pdprog{margin:12px 0 4px;padding:12px 14px;border:1px solid var(--line2);border-radius:12px;background:var(--surface2,#FAF8F5);font-size:12.5px} .pdprog .row{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px} .pdprog .bar.thin{height:3px;margin-top:2px}
.pdkv{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0} .pdkv>div{border:1px solid var(--line2);border-radius:10px;padding:8px 10px;font-size:13px} .pdkv span{display:block;color:var(--grey);font-size:11.5px;margin-bottom:2px} .pdkv b{font-weight:600;line-height:1.35}
.pdneed .it{padding:8px 0}
@media (max-width:720px){ .pdbox{top:auto;height:88%;width:100%;border-radius:18px 18px 0 0;transform:translateY(105%)!important} .pdrawer.on .pdbox{transform:none!important} .pdkv{grid-template-columns:1fr 1fr} }
.pulse .pstrip{display:flex;gap:10px;overflow:auto;padding:4px 0 6px;scroll-snap-type:x proximity}
.pp{flex:0 0 auto;display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:center;min-width:220px;max-width:280px;padding:8px 12px;border:1px solid var(--line2);border-radius:12px;background:#fff;color:inherit;text-decoration:none;scroll-snap-align:start;transition:transform .2s,box-shadow .2s}
.pp:hover{transform:translateY(-2px);box-shadow:var(--shadow2,0 8px 24px rgba(0,0,0,.08))}
.pp .av{grid-row:1/3;width:38px;height:38px;border-radius:50%;background:var(--navy);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}
.pp b{font-size:13px;white-space:nowrap} .pp small{color:var(--grey);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}

/* ===== رسائل اليوم ===== */
.msgs h2{display:flex;align-items:center;gap:8px} .msgs .mlist{display:flex;flex-direction:column;gap:10px}
.msg{border:1px solid var(--line2);border-radius:14px;padding:12px 14px;background:#fff;border-inline-start:4px solid var(--line);transition:box-shadow .2s}
.msg.k-direct{border-inline-start-color:var(--navy)} .msg.k-thanks{border-inline-start-color:var(--sage);background:linear-gradient(180deg,#F7FAF2,#fff)} .msg.k-alert{border-inline-start-color:var(--gold);background:linear-gradient(180deg,#FFFBEF,#fff)} .msg.k-info{border-inline-start-color:var(--lblue)}
.msg.new{box-shadow:0 0 0 2px rgba(39,168,223,.35)} .msg.hl{animation:mhl 1.6s ease-out} @keyframes mhl{0%{background:#FFF4D6}100%{background:#fff}}
.msg.pinned{background:linear-gradient(180deg,#FAF8F5,#fff)} .msg.off{opacity:.6}
.msg .mh{display:flex;align-items:center;gap:10px;margin-bottom:6px} .msg .av{width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex:none}
.msg .mi b{display:block;font-size:13.5px} .msg .mi small{color:var(--grey);font-size:11.5px} .msg .kchip{font-weight:700;color:var(--navy)} .msg .lock{color:#8A6D1F}
.msg .mb{font-size:14.5px;line-height:1.85;white-space:pre-wrap;color:var(--text)}
.msg .mlink{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-size:12.5px;background:var(--surface2,#FAF8F5);border:1px solid var(--line2);border-radius:8px;padding:4px 10px;color:var(--navy);text-decoration:none}
.msg .mreplies{margin-top:8px;border-top:1px dashed var(--line2);padding-top:6px;font-size:12.5px} .msg .mr{padding:2px 0}
.msg .mf{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px} .msg .read{color:var(--sage);font-weight:700;font-size:12.5px}
.chip.chk{cursor:pointer} .chip.chk input{margin:0 0 0 4px}
@media (max-width:720px){ .msg{padding:10px 12px} .msg .mb{font-size:14px} .msg .mf .btn{font-size:11.5px} }

/* ===== سلسلة المتابعة ===== */
.thread{margin-top:14px;border:1px solid var(--line2);border-radius:14px;background:var(--surface2,#FAF8F5);padding:10px 12px 10px}
.thread .thh{margin:0 0 8px;border:0;padding:0}
.thl{max-height:300px;overflow:auto;display:flex;flex-direction:column;gap:8px;padding:2px 0 6px}
.tm{display:flex;gap:8px;align-items:flex-start} .tm .av{flex:none;width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;margin-top:2px}
.tm.mine .av{background:var(--sage)}
.tm .tb{flex:1;background:#fff;border:1px solid var(--line2);border-radius:12px;border-start-start-radius:4px;padding:7px 10px;min-width:0}
.tm.mine .tb{background:#F3F8EE;border-color:#DCE7CF}
.tm .th{display:flex;align-items:center;gap:8px;font-size:12px;margin-bottom:2px} .tm .th b{font-size:12.5px} .tm .th small{color:var(--muted)} .tm .th .x{margin-inline-start:auto;border:0;background:none;color:var(--muted);cursor:pointer;font-size:11px;opacity:0;transition:opacity .15s} .tm:hover .th .x{opacity:1}
.tm .tx{font-size:13.5px;line-height:1.75;white-space:pre-wrap;word-break:break-word}
.thf{display:flex;gap:8px;align-items:flex-end;margin-top:6px} .thf textarea{flex:1;resize:none;border:1px solid var(--line);border-radius:12px;padding:9px 12px;font:inherit;font-size:13.5px;line-height:1.5;background:#fff;min-height:40px}
.thf textarea:focus{outline:2px solid rgba(39,168,223,.35);border-color:var(--lblue)}
.thempty{margin:0}
@media (max-width:720px){ .thl{max-height:240px} .thf .btn{padding:9px 12px} }

/* ===== العروض التنفيذية ===== */
.bgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.bcard{display:flex;flex-direction:column;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;box-shadow:var(--shadow);text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s}
.bcard:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(18,59,92,.1)}
.bcard.archived{opacity:.6}
.bcard>b{font-size:15px;line-height:1.4;color:var(--text)} .bcard>small{color:var(--muted);font-size:12.5px}
.bch{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.bcf{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:11.5px;color:var(--muted);margin-top:4px}
.badge.bk{background:#E8F4FB;color:#1B6CA8}.badge.bk.proposal{background:#F4EDDC;color:var(--gold)}.badge.bk.update{background:#E6F2EA;color:#2E8B57}.badge.bk.other{background:#EEF1F5;color:var(--muted)}
.bintro{white-space:normal;line-height:1.8;font-size:14px}
.blist{display:flex;flex-direction:column;gap:8px}
.bitem{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px 12px;align-items:start;padding:10px 12px;border:1px solid var(--line2);border-radius:12px;background:var(--surface2)}
.bitem.can{cursor:pointer} .bitem.can:hover{border-color:var(--lblue)}
.bno{width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;font-weight:800;font-size:12px;display:grid;place-items:center;margin-top:2px}
.bmain{min-width:0} .bt{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center} .bt b{font-size:14px;line-height:1.4}
.tag.free{background:#EEF1F5;color:var(--muted)}
.bdet{display:flex;flex-wrap:wrap;gap:2px 16px;font-size:12.5px;margin-top:4px;color:var(--text)} .bdet i{font-style:normal;color:var(--muted)}
.bitem .pb{height:5px;background:var(--line2);border-radius:999px;margin-top:8px;overflow:hidden;direction:ltr} .bitem .pb i{display:block;height:100%;border-radius:999px}
.bside{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:96px;text-align:center}
.bchip{display:inline-block;color:#fff;font-size:11px;font-weight:800;padding:4px 10px;border-radius:999px;white-space:nowrap}
.bact{display:flex;flex-direction:column;gap:2px} .bact .btn{padding:2px 8px;line-height:1.4}
.pickl{max-height:50vh;overflow:auto;display:flex;flex-direction:column;gap:4px}
.pk{display:flex;gap:8px;align-items:center;padding:6px 8px;border-radius:8px;cursor:pointer} .pk:hover{background:var(--bg)} .pk.off{opacity:.5} .pk small{margin-inline-start:auto}
@media (max-width:720px){ .bitem{grid-template-columns:auto 1fr;} .bside{grid-column:2;flex-direction:row;justify-content:flex-start;min-width:0} .bact{grid-column:2;flex-direction:row} }

.lanes{display:flex;flex-direction:column;gap:4px;margin-top:6px;padding:8px 10px;background:#fff;border:1px solid var(--line2);border-radius:10px}
.lane{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;font-size:12.5px} .lane i{font-style:normal;color:var(--muted);min-width:62px} .lane .ln{color:var(--text)}
.lchip{display:inline-block;color:#fff;font-size:10.5px;font-weight:800;padding:2px 9px;border-radius:999px}
.lane.dec .ln{font-weight:700;color:#A6503B} .lanes .lat{font-size:11px}

/* ===== المرفقات ===== */
.attbox .attl{display:flex;flex-direction:column;gap:4px;margin:6px 0 8px}
.attrow{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--surface2);border:1px solid var(--line2);border-radius:10px;font-size:13px}
.attrow .aname{background:none;border:0;padding:0;font:inherit;color:var(--blue);cursor:pointer;text-align:right;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.attrow .x{background:none;border:0;color:var(--muted);cursor:pointer;font-size:13px}
.attadd.busy{opacity:.6;pointer-events:none}
.achip{display:inline-flex;align-items:center;gap:4px;max-width:260px;font:inherit;font-size:12px;background:#EEF4F9;color:var(--blue);border:1px solid #D6E6F2;border-radius:999px;padding:3px 10px;cursor:pointer;margin:2px 2px 0 0}
.achip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.achip.pend{background:var(--goldbg,#FFF4D6);color:var(--text);cursor:default} .achip.pend button{background:none;border:0;cursor:pointer;color:var(--muted);padding:0 2px}
.tatt{margin-top:6px;display:flex;flex-wrap:wrap}
.thf .thatt{padding:7px 9px;cursor:pointer}
.thpend{margin-top:4px;display:flex;flex-wrap:wrap}

/* ===== الإشارة @ ===== */
.thread{position:relative}
.mnbox{position:absolute;z-index:5;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px rgba(18,59,92,.14);padding:4px;min-width:220px;max-width:320px}
.mni{display:flex;align-items:center;gap:8px;width:100%;background:none;border:0;padding:7px 10px;border-radius:8px;font:inherit;font-size:13px;cursor:pointer;text-align:right;color:var(--text)}
.mni.on,.mni:hover{background:#EEF4F9} .mni small{margin-inline-start:auto;color:var(--muted);font-size:11px}
.mni .av,.mnr .av{width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center;flex:none}
.tx .mn{color:var(--blue);font-weight:800;background:#EEF4F9;border-radius:6px;padding:0 4px}
.thhint{display:block;margin-top:4px;font-size:11px}
.mnr{display:flex;align-items:flex-start;gap:10px;padding:9px 10px;border-radius:10px;border:1px solid var(--line2);background:#FFF8F4;cursor:pointer;margin-bottom:6px}
.mnr.seen{background:var(--surface2);opacity:.85} .mnr:hover{border-color:var(--lblue)}
.mnr .mt{flex:1;min-width:0;font-size:13px;line-height:1.5} .mnr .mt small{display:block;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mnseen summary{cursor:pointer;margin:4px 0 6px}
.mnr.sent{background:var(--surface2)} .mnr.sent.replied{background:#F1F8F3}
.mnr .mst{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none} .mnr .mst .btn{padding:2px 8px;font-size:11px}

/* ===== الخريطة ===== */
.lmap{width:100%;height:60vh;min-height:360px;border-radius:var(--r);border:1px solid var(--line);background:#E9EEF2;overflow:hidden;z-index:0}
.lmap.big{height:calc(100vh - 230px)}
.pickmap .lmap{z-index:0}
.leaflet-container{font-family:Tajawal,system-ui,sans-serif;direction:rtl}
.leaflet-container .leaflet-tooltip{font-family:inherit;direction:rtl;text-align:right;border-radius:8px;border:1px solid var(--line);box-shadow:var(--shadow)}
.leaflet-popup-content-wrapper{border-radius:12px;font-family:inherit;direction:rtl;text-align:right}
.pmw{background:none;border:0}
.pm{width:36px;height:36px;border-radius:50%;background:var(--c);border:3px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.25);display:grid;place-items:center;color:#fff;font-weight:800;font-size:13px;position:relative}
.pm.urgent::after{content:"";position:absolute;inset:-3px;border-radius:50%;border:3px solid var(--c);animation:pmPulse 1.6s ease-out infinite}
.pm.me::after{content:"";position:absolute;inset:-3px;border-radius:50%;border:3px solid var(--c);animation:pmPulse 2.6s ease-out infinite}
@keyframes pmPulse{0%{transform:scale(1);opacity:.9}100%{transform:scale(2.1);opacity:0}}
.mapfilters{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.mf{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:12.5px;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:5px 12px;cursor:pointer;color:var(--text)}
.mf i{width:10px;height:10px;border-radius:50%;display:inline-block} .mf b{color:var(--muted);font-weight:700} .mf.on{background:var(--navy);color:#fff;border-color:var(--navy)} .mf.on b{color:#fff}
.pmlist{display:flex;flex-direction:column;gap:4px;min-width:240px} .pmlist>b{margin-bottom:4px;color:var(--navy)}
.pmlist a{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;align-items:center;padding:6px 8px;border-radius:8px;color:inherit;text-decoration:none;border:1px solid var(--line2)} .pmlist a:hover{background:var(--bg)}
.pmlist a i{width:10px;height:10px;border-radius:50%;grid-row:span 2} .pmlist a span{font-weight:700;font-size:13px} .pmlist a small{color:var(--muted);font-size:11.5px}
@media (prefers-reduced-motion:reduce){.pm::after{animation:none}}

/* ===== حركة الفريق ===== */
.feed .fl{display:flex;flex-direction:column;gap:6px;max-height:420px;overflow:auto;padding-inline-end:4px}
.fi{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:12px;background:var(--surface2);border:1px solid var(--line2);cursor:pointer} .fi:hover{border-color:var(--lblue)}
.fi .av{width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center;flex:none}
.fi .fb{flex:1;min-width:0} .fi .fh{font-size:12.5px;line-height:1.5;color:var(--muted)} .fi .fh b{color:var(--text)} .fi .fh small{margin-inline-start:8px;color:var(--faint)}
.fi .ft{font-size:13.5px;line-height:1.6;white-space:pre-wrap;word-break:break-word;color:var(--text);margin-top:2px}
.ft .mn{color:var(--blue);font-weight:800;background:#EEF4F9;border-radius:6px;padding:0 4px}

/* ===== تنسيق الشاشات الكبيرة ولوحة الإشعارات (update65) ===== */
/* لوحة الإشعارات على الحاسب: الجرس في أقصى اليسار، فتمتد اللوحة إلى اليمين داخل الشاشة بدل خروجها */
@media screen and (min-width:901px){ .npanel{left:0;right:auto;top:46px;width:380px} }
#nlist{max-height:70vh;overflow:auto}
.nitem b,.nitem small{display:block;white-space:normal;word-break:break-word}
/* شريط الأعلى بعرض المحتوى نفسه حتى لا يبتعد الجرس والمستخدم عن الصفحة على الشاشات العريضة */
.topbar{max-width:1360px}
/* على الشاشات العريضة جداً نوسّط المحتوى والشريط معاً */
@media screen and (min-width:1900px){ main#main,.topbar{max-width:1480px;margin-inline:auto} .mainwrap{padding:0 40px 40px} }
/* تبويبات المشروع على الجوال: تمرير أفقي سلس بلا قص */
.tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none} .tabs::-webkit-scrollbar{display:none}

/* ===== الحوكمة ===== */
.uchip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;color:var(--c);background:color-mix(in srgb,var(--c) 12%,#fff);border:1px solid color-mix(in srgb,var(--c) 35%,#fff);border-radius:999px;padding:2px 10px;white-space:nowrap}
.uchip.big{font-size:14px;padding:6px 14px}
.gref{font-family:ui-monospace,Menlo,monospace;font-size:11.5px;background:#EEF4F9;color:var(--blue);border-radius:6px;padding:2px 7px;text-decoration:none;margin-inline-end:4px}
.gh2{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:800;color:var(--navy);margin:22px 0 10px} .gh2 .btn{margin-inline-start:auto}
.ghero{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;background:linear-gradient(160deg,#123B5C,#0D2B45);color:#fff;border-radius:var(--r);padding:24px 26px}
.ghero h2{color:#fff;font-size:22px;margin:0 0 8px} .ghero p{color:#C9D8E4;line-height:1.8;font-size:14px;margin:0 0 14px}
.gvals{display:grid;grid-template-columns:1fr 1fr;gap:10px} .gvals div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:12px 14px} .gvals b{display:block;color:#F2C94C;margin-bottom:4px} .gvals span{font-size:12.5px;color:#DDE7EF;line-height:1.6}
.gunits{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-top:14px}
.gunit{display:flex;flex-direction:column;gap:4px;background:var(--surface);border:1px solid var(--line);border-inline-start:5px solid var(--c);border-radius:12px;padding:12px 14px;text-decoration:none;color:inherit;box-shadow:var(--shadow);transition:transform .15s} .gunit:hover{transform:translateY(-2px)} .gunit b{font-size:14px} .gunit small{color:var(--muted);line-height:1.5;font-size:12px}
.gfaq{display:flex;flex-direction:column;gap:8px}
.gq{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:0 16px} .gq summary{cursor:pointer;padding:13px 0;font-weight:800;font-size:14.5px;color:var(--navy);list-style:none;display:flex;align-items:center;gap:8px} .gq summary::before{content:"؟";width:24px;height:24px;border-radius:50%;background:#EEF4F9;color:var(--blue);display:grid;place-items:center;font-size:13px;flex:none} .gq[open] summary::before{background:var(--navy);color:#fff}
.gq p{margin:0 0 10px;line-height:1.85;font-size:14px} .glinks{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding-bottom:12px}
.gmapwrap{display:grid;grid-template-columns:1.4fr 1fr;gap:14px;align-items:start}
.gmap{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:10px} .gmap svg{width:100%;height:auto;display:block}
.ghub{fill:#123B5C} .ght{fill:#fff;font-size:15px;font-weight:800;text-anchor:middle;font-family:Tajawal,sans-serif}
.gn{cursor:pointer} .gn circle{stroke:#fff;stroke-width:3;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));transition:r .15s} .gn:hover circle,.gn.on circle{stroke:#F2C94C;stroke-width:4} .gnt{fill:#fff;font-size:13px;font-weight:800;text-anchor:middle;font-family:Tajawal,sans-serif;pointer-events:none}
.ge{fill:none;stroke-width:2.2;opacity:.75;cursor:pointer;transition:opacity .15s,stroke-width .15s} .ge:hover{stroke-width:4;opacity:1} .ge.dim{opacity:.12}
.gcard{background:var(--surface);border:1px solid var(--line);border-inline-start:5px solid var(--c,#123B5C);border-radius:var(--r);padding:14px 16px} .gcard h3{margin:0 0 6px;font-size:15px;color:var(--navy)} .gcard h4{margin:12px 0 4px;font-size:12.5px;color:var(--muted)} .gcard ul{margin:0;padding-inline-start:18px;font-size:13px;line-height:1.7} .gcard p{margin:0;font-size:13.5px;line-height:1.7}
.gmini{font-size:12.5px;line-height:1.6;padding:4px 0;border-bottom:1px dashed var(--line2)}
.ghand{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:10px}
.gho{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:13px;line-height:1.7} .ghoh{display:flex;align-items:center;gap:6px;margin-bottom:6px} .garr{color:var(--muted)} .ghob b{color:var(--navy)}
.grouter{max-width:760px;margin:10px auto}
.grq,.gres{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px 24px;box-shadow:var(--shadow)}
.grq h2{font-size:20px;color:var(--navy);margin:6px 0 16px;line-height:1.5}
.gopts{display:grid;gap:8px} .gopt{font:inherit;font-size:15px;text-align:right;background:var(--surface2);border:1px solid var(--line);border-radius:12px;padding:14px 16px;cursor:pointer;transition:all .15s} .gopt:hover{border-color:var(--lblue);background:#EEF6FB;transform:translateX(-3px)}
.gcrumb{background:#EEF4F9;border-radius:6px;padding:1px 8px;margin:0 3px}
.gres{border-inline-start:6px solid var(--c)} .gres h2{font-size:22px;color:var(--navy);margin:10px 0 6px} .gres p{font-size:15px;line-height:1.8} .gresproc{background:var(--bg);border-radius:10px;padding:10px 12px;margin-top:10px;font-size:13.5px}
.glegend{font-size:12.5px;color:var(--muted);margin:4px 0 10px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.rc{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:8px;font-weight:800;font-size:12px;color:#fff}
.rc.A{background:#123B5C} .rc.R{background:#2E8B57} .rc.V{background:#B8860B} .rc.C{background:#6B7A88} .rc.I{background:#A7B2BD}
.gmat th{position:sticky;top:0;background:var(--surface);z-index:1} .gmat td.act{min-width:280px;font-size:13px;line-height:1.5} .gmat td.act small{display:block} .gmat .rcell{text-align:center;width:64px} .gmat .rcell.can{cursor:pointer} .gmat .rcell.can:hover{background:#EEF6FB} .ggrp td{background:var(--surface2);font-weight:800;color:var(--navy);font-size:12.5px} .aed{opacity:.4} tr:hover .aed{opacity:1}
.gprocs{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.gproc{display:flex;flex-direction:column;gap:6px;background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--c);border-radius:12px;padding:12px 14px;text-decoration:none;color:inherit;box-shadow:var(--shadow);transition:transform .15s} .gproc:hover{transform:translateY(-2px)} .gpc{display:flex;justify-content:space-between;align-items:center;font-family:ui-monospace,Menlo,monospace;font-size:12px;color:var(--muted)} .gproc h3{margin:0;font-size:14.5px;color:var(--navy)} .gproc p{margin:0;font-size:12.5px;color:var(--muted);line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden} .gpu{display:flex;flex-wrap:wrap;gap:4px}
.gpgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px;margin:8px 0 16px} .gkv{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px} .gkv.wide{grid-column:1/-1} .gkv span{display:block;font-size:11.5px;color:var(--muted);margin-bottom:3px} .gkv b{font-weight:600;font-size:13.5px;line-height:1.6;display:flex;flex-wrap:wrap;gap:4px}
.gswim{display:grid;grid-template-columns:140px 1fr;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px}
.glanes{display:flex;flex-direction:column;gap:6px} .glane{background:color-mix(in srgb,var(--c) 10%,#fff);border-inline-start:4px solid var(--c);border-radius:8px;padding:8px;font-size:12px;font-weight:800;color:var(--c);min-height:38px;display:flex;align-items:center}
.gflow{display:flex;flex-wrap:wrap;align-items:center;gap:6px 4px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:10px 12px;margin-bottom:10px}
.gfs{display:inline-flex;align-items:center;gap:6px;background:color-mix(in srgb,var(--c) 10%,#fff);border:1px solid color-mix(in srgb,var(--c) 35%,#fff);color:var(--c);border-radius:999px;padding:3px 10px 3px 4px;font-size:12px;font-weight:800;white-space:nowrap}
.gfs b{background:var(--c);color:#fff;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:11px}
.gfs.dec b{border-radius:5px;transform:rotate(45deg)} .gfs b i{font-style:normal} .gfs.dec b i{transform:rotate(-45deg)}
.gfi{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.gref.in{margin:0 2px;padding:1px 6px;cursor:pointer;unicode-bidi:isolate}
.gfa{font-style:normal;color:var(--muted,#8a96a3);font-weight:800}
@media print{.gflow{break-inside:avoid}}
.gsteps{display:flex;flex-direction:column;gap:8px;position:relative} .gsteps::before{content:"";position:absolute;top:0;bottom:0;right:17px;width:2px;background:var(--line)}
.gstep{display:flex;gap:10px;align-items:flex-start;position:relative} .gno{width:36px;height:36px;border-radius:50%;background:var(--c);color:#fff;font-weight:800;display:grid;place-items:center;flex:none;border:3px solid #fff;box-shadow:0 0 0 2px var(--c);z-index:1}
.gstep.dec .gno{border-radius:8px;transform:rotate(45deg)} .gno i{font-style:normal} .gstep.dec .gno i{transform:rotate(-45deg)}
.gsb{flex:1;background:color-mix(in srgb,var(--c) 7%,#fff);border:1px solid color-mix(in srgb,var(--c) 30%,#fff);border-radius:12px;padding:10px 12px} .gsh{display:flex;align-items:center;gap:8px;margin-bottom:4px} .gsb p{margin:0;font-size:13.5px;line-height:1.7} .gsm{display:flex;flex-wrap:wrap;gap:10px;font-size:11.5px;color:var(--muted);margin-top:4px}
.gserow{display:grid;grid-template-columns:130px 130px 1fr 120px 150px auto auto;gap:6px;margin-bottom:6px;align-items:center} .gserow input,.gserow select{font:inherit;font-size:13px;padding:6px 8px;border:1px solid var(--line);border-radius:8px}
.grules{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px}
.grule{background:var(--surface);border:1px solid var(--line);border-inline-start:5px solid var(--c);border-radius:12px;padding:12px 14px} .grule.hl{box-shadow:0 0 0 3px rgba(39,168,223,.35)} .grh{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:4px;font-family:ui-monospace,Menlo,monospace;font-size:12px;color:var(--muted)} .grh .btn{margin-inline-start:auto} .grule h3{margin:0 0 4px;font-size:15px;color:var(--navy)} .grule p{margin:0 0 6px;font-size:13.5px;line-height:1.7} .grule ul{margin:0;padding-inline-start:18px;font-size:12.5px;line-height:1.7}
@media (max-width:900px){ .ghero{grid-template-columns:1fr} .gmapwrap{grid-template-columns:1fr} .gswim{grid-template-columns:1fr} .glanes{flex-direction:row;flex-wrap:wrap} .glane{min-height:0} .gserow{grid-template-columns:1fr 1fr} }
@media print{ .tabs,.toolbar .btn,.snav,.topbar{display:none!important} }

/* نافذة الإحالات الجانبية (الحوكمة) */
#gpeek .gpeek-bg{position:fixed;inset:0;background:rgba(13,43,69,.28);z-index:300;opacity:0;transition:opacity .2s}
#gpeek .gpeek{position:fixed;top:0;bottom:0;inset-inline-end:0;width:min(560px,100vw);background:var(--bg,#F3F5F8);z-index:301;box-shadow:0 0 40px rgba(13,43,69,.25);display:flex;flex-direction:column;transform:translateX(-105%);transition:transform .22s ease}
#gpeek.on .gpeek-bg{opacity:1} #gpeek.on .gpeek{transform:none}
.gpk-top{display:flex;gap:6px;align-items:center;padding:10px 14px;background:var(--surface,#fff);border-bottom:1px solid var(--line)}
.gpk-body{overflow:auto;padding:14px 16px 28px;flex:1} .gpk-body h3{margin:6px 0 8px;font-size:17px;color:var(--navy)}
.gpk-h{display:flex;gap:8px;align-items:center;flex-wrap:wrap} .gpk-h>b{color:var(--c);font-size:15px}
.gpk-goal{background:var(--surface,#fff);border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:0 0 10px;line-height:1.8}
.gpk-ul{margin:0 0 10px;padding-inline-start:20px;line-height:1.9}
.gpk-body .gflow{margin-top:6px}
@media print{#gpeek{display:none}}

/* أدلة الإجراءات بحسب القسم */
.gman{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 6px}
.gmb{--c:#6B7A88;display:inline-flex;align-items:center;gap:8px;font:inherit;font-size:13px;font-weight:700;color:var(--c);background:var(--surface,#fff);border:1px solid color-mix(in srgb,var(--c) 30%,#fff);border-radius:999px;padding:5px 12px 5px 6px;cursor:pointer;transition:transform .15s}
.gmb b{min-width:26px;height:26px;padding:0 6px;border-radius:999px;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 12%,#fff);font-size:12px}
.gmb.on{background:var(--c);color:#fff;border-color:var(--c)} .gmb.on b{background:rgba(255,255,255,.22);color:#fff}
.gmb.nil{opacity:.6} .gmb:active{transform:scale(.97)}
.gman-nil{border:1px dashed var(--line);border-radius:12px;padding:14px;color:var(--muted,#6B7A88);font-size:13px;background:var(--surface,#fff)}

/* شريط الإجراء الحاكم داخل شاشات المنصة */
.govbar{margin:0 0 12px} .govbar:not(.on){display:none}
.gb{--c:#123B5C;display:flex;align-items:center;gap:10px;width:100%;text-align:start;font:inherit;cursor:pointer;background:color-mix(in srgb,#27A8DF 7%,#fff);border:1px solid color-mix(in srgb,#27A8DF 28%,#fff);border-inline-start:4px solid #27A8DF;border-radius:10px;padding:8px 12px;color:var(--ink,#1d2b36);transition:background .15s}
.gb:hover{background:color-mix(in srgb,#27A8DF 13%,#fff)}
.gbi{font-size:18px;flex:none} .gbt{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.gbh{font-size:13px;font-weight:700;color:var(--navy,#123B5C)} .gbh small{font-weight:500;color:var(--muted,#6B7A88)}
.gbc{font-family:ui-monospace,Menlo,monospace;font-size:12px;color:#1B6CA8;unicode-bidi:isolate}
.gbs{font-size:12.5px;color:var(--ink,#1d2b36);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical} .gbs.ok{color:#2E8B57;font-weight:700}
.gbn{font-size:11.5px;color:var(--muted,#6B7A88)} .gbo{flex:none;font-size:12px;font-weight:700;color:#1B6CA8}
.gchip{font-family:inherit;font-size:12px;cursor:pointer}
@media (max-width:700px){.gbo{display:none}}
.gpk-now{display:flex;flex-direction:column;gap:4px;background:#EAF6FC;border:1px solid #BFE3F5;border-inline-start:4px solid #27A8DF;border-radius:10px;padding:10px 12px;margin:0 0 10px;font-size:13px;line-height:1.7}
.gpk-now>b{color:var(--navy,#123B5C)} .gpk-now .nx{color:var(--muted,#55636f)} .gpk-now.done{background:#EDF7F0;border-color:#C5E5CF;border-inline-start-color:#2E8B57}
.gstep.cur .gsb{outline:2px solid #27A8DF;outline-offset:1px;background:#F3FAFE} .gstep.past{opacity:.6}
.gfs.cur{box-shadow:0 0 0 2px #27A8DF}
@media print{.govbar,.gchip{display:none!important}}

/* ===== متابعة أنظمة المنشآت ===== */
.fmhead{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap;margin:4px 0 10px}
.fmhead p{max-width:640px;font-size:13px}
.fmtabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:0 0 16px;overflow-x:auto;scrollbar-width:none}
.fmtabs a{padding:9px 14px;font-weight:700;font-size:13.5px;color:var(--muted);text-decoration:none;border-bottom:2.5px solid transparent;white-space:nowrap;display:inline-flex;gap:6px;align-items:center}
.fmtabs a.on{color:#123B5C;border-bottom-color:#27A8DF}
.fmcnt{font-size:11px;background:#EAF6FC;color:#1B6CA8;border-radius:999px;padding:0 7px;line-height:18px} .fmcnt.bad{background:#FBE9E7;color:#C0392B}
.fmkpis{display:grid;grid-template-columns:1.3fr repeat(5,1fr);gap:10px;margin-bottom:14px}
.fmk{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:12px 14px;display:flex;flex-direction:column;gap:3px;text-decoration:none;color:inherit;border-top:3px solid #B5C0CB;min-width:0}
.fmk>b{font-size:26px;font-weight:800;color:#123B5C;line-height:1.1} .fmk>span{font-size:12.5px;font-weight:700;color:var(--text)} .fmk>small{font-size:11.5px;color:var(--muted);line-height:1.6;overflow:hidden;text-overflow:ellipsis}
.fmk.red{border-top-color:#C0392B} .fmk.red>b{color:#C0392B} .fmk.amber{border-top-color:#C99A1E} .fmk.amber>b{color:#A47A0F} .fmk.green{border-top-color:#2E8B57} .fmk.green>b{color:#2E8B57} .fmk.blue{border-top-color:#27A8DF}
.fmk.ring{flex-direction:row;flex-wrap:wrap;align-items:center;column-gap:12px;border-top-color:#27A8DF} .fmk.ring>span{flex:1;font-size:14px} .fmk.ring>small{flex-basis:100%}
.rg{position:relative;width:64px;height:64px} .rg svg{width:64px;height:64px;transform:rotate(-90deg)} .rg circle{fill:none;stroke-width:3.4} .rg .bgc{stroke:#E6EEF4} .rg .fgc{stroke:#27A8DF;stroke-linecap:round;transition:stroke-dasharray .6s}
.rg b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:1px;font-size:17px;font-weight:800;color:#123B5C} .rg b small{font-size:11px}
.fmmatrix{padding:14px 16px}
.fmfilt{display:flex;gap:4px;flex-wrap:wrap} .fmfilt button{font:inherit;font-size:12px;font-weight:700;border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;padding:4px 11px;cursor:pointer} .fmfilt button.on{background:#123B5C;border-color:#123B5C;color:#fff}
.fmlegend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:11.5px;color:var(--muted);margin:10px 0}
.fmlegend span{display:inline-flex;align-items:center;gap:5px} .fmlegend i{font-style:normal;width:18px;height:18px;border-radius:5px;display:grid;place-items:center;background:var(--c);color:#fff;font-size:10px;font-weight:800}
.fmlegend i.nd{background:#fff;color:#C0392B;border:1.5px dashed #C0392B} .fmlegend i.ob{background:#fff;color:#1B6CA8;border:1px solid var(--line)}
.fmscroll{overflow-x:auto;margin:0 -16px;padding:0 16px}
.fmtab{border-collapse:separate;border-spacing:3px;min-width:100%}
.fmtab th,.fmtab td{padding:0;text-align:center;vertical-align:middle}
.fmtab th.gh{font-size:11px;font-weight:800;color:#123B5C;background:#EAF6FC;border-radius:6px;padding:4px 6px;white-space:nowrap}
.fmtab th.sh{font-size:10.5px;font-weight:700;color:var(--muted);width:46px;max-width:56px;padding:4px 2px;line-height:1.35;vertical-align:bottom}
.fmtab th.sh span{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.fmtab th.fh{position:sticky;inset-inline-start:0;background:var(--surface);z-index:2;text-align:start;min-width:190px;padding:4px 8px 4px 10px;font-size:12.5px}
.fmtab th.fh a{color:var(--text);text-decoration:none;font-weight:800} .fmtab th.fh a:hover{color:#1B6CA8}
.fhm{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;margin-top:2px} .fhm b{color:#123B5C}
.rb{width:54px;height:5px;border-radius:9px;background:#E6EEF4;overflow:hidden;display:inline-block} .rb i{display:block;height:100%;background:linear-gradient(90deg,#27A8DF,#2E8B57)}
.fmc{width:40px;height:34px;border-radius:8px;border:0;display:inline-grid;place-items:center;font:inherit;font-weight:800;font-size:13px;color:#fff;cursor:pointer;position:relative;transition:transform .12s,box-shadow .12s;background:#EEF2F6}
button.fmc:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(18,36,47,.18)}
.fmc.s-good{background:#2E8B57} .fmc.s-attention{background:#C99A1E} .fmc.s-partial{background:#D9772B} .fmc.s-down{background:#C0392B} .fmc.s-na{background:#DCE3EA;color:#7D8A97} .fmc.s-none{background:repeating-linear-gradient(45deg,#F3F5F8,#F3F5F8 4px,#E8EDF2 4px,#E8EDF2 8px)}
.fmc.nd{outline:2px dashed #C0392B;outline-offset:1px}
.fmc.ob::after{content:"";position:absolute;top:3px;inset-inline-end:3px;width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px #1B6CA8}
.fm2col{display:grid;grid-template-columns:1fr 1.4fr;gap:14px;margin-top:14px} .fm2col .pcard{margin:0}
.fmbars{display:flex;flex-direction:column;gap:8px;margin:8px 0}
.fmbar{display:grid;grid-template-columns:150px 1fr 26px;gap:8px;align-items:center;font-size:12.5px} .fmbar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fmbar i{height:9px;background:#F1F4F7;border-radius:9px;overflow:hidden} .fmbar em{display:block;height:100%;background:linear-gradient(90deg,#C99A1E,#C0392B);border-radius:9px} .fmbar b{color:#123B5C;text-align:center}
.fmolist{display:flex;flex-direction:column;gap:8px} .fmolist.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr))}
.fmo{display:flex;flex-direction:column;gap:5px;text-align:start;font:inherit;cursor:pointer;background:var(--surface);border:1px solid var(--line);border-inline-start:4px solid var(--c);border-radius:12px;padding:10px 12px;color:var(--text);transition:box-shadow .15s,transform .15s}
.fmo:hover{box-shadow:var(--shadow2);transform:translateY(-1px)} .fmo.late{background:#FFF8F7}
.fmo-h{font-size:13.5px;font-weight:700;line-height:1.5} .fmo-h b{color:var(--muted);font-weight:700;font-size:12px} .fmo-m{font-size:12px;color:var(--muted)}
.fmo-f{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.fmproc{font-size:11.5px;font-weight:700;color:#1B6CA8;background:#EAF6FC;border-radius:6px;padding:1px 7px;unicode-bidi:isolate}
.fmopill{font-size:11.5px;font-weight:800;color:var(--c);background:color-mix(in srgb,var(--c) 11%,#fff);border:1px solid color-mix(in srgb,var(--c) 30%,#fff);border-radius:999px;padding:1px 9px}
.fmpill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;color:var(--c);background:color-mix(in srgb,var(--c) 10%,#fff);border-radius:999px;padding:2px 10px 2px 4px}
.fmpill i{font-style:normal;width:18px;height:18px;border-radius:50%;background:var(--c);color:#fff;display:grid;place-items:center;font-size:10px} .fmpill.none{color:var(--muted);background:#F1F4F7;padding:2px 10px}
.fmcell-h{display:flex;gap:12px;align-items:center;margin-bottom:6px} .fmcell-h div{display:flex;flex-direction:column} .fmcell-h b{font-size:16px;color:#123B5C}
.fmmeta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0}
.fmhist{display:flex;gap:6px;flex-wrap:wrap} .fmh{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:70px;font-size:11px;background:var(--surface2,#F8FAFC);border:1px solid var(--line);border-radius:10px;padding:6px}
.fmh i{font-style:normal;width:24px;height:24px;border-radius:7px;background:var(--c);color:#fff;display:grid;place-items:center;font-weight:800} .fmh small{color:var(--muted)}
.fmpick{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;padding:12px 14px;margin-bottom:12px} .fmpick .fld{margin:0;min-width:200px}
.fmpick-st{display:flex;flex-wrap:wrap;gap:5px;flex-basis:100%}
.fmpick-st a{font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:999px;border:1px solid var(--line);color:var(--muted);text-decoration:none;background:var(--surface)}
.fmpick-st a.ok{border-color:#9FD0B3;color:#2E8B57;background:#EDF7F0} .fmpick-st a.dr{border-color:#E8D49A;color:#8A6A0B;background:#FBF5E3} .fmpick-st a.on{box-shadow:0 0 0 2px #27A8DF}
.fmround-h{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:4px 0 8px}
.fmprog{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:12.5px;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(6px);border:1px solid var(--line);border-radius:12px;padding:8px 12px;margin-bottom:10px}
.fmprog .pb{flex:1;min-width:120px;height:7px;background:#E6EEF4;border-radius:9px;overflow:hidden} .fmprog .pb i{display:block;height:100%;background:#27A8DF;transition:width .3s} .fmprog .bad{color:#C0392B;font-weight:800}
.fmgsec{margin-bottom:14px} .fmgsec h3{font-size:14px;color:#123B5C;margin:14px 2px 8px;display:flex;align-items:center;gap:8px} .fmgsec h3::after{content:"";flex:1;height:1px;background:var(--line)}
.fmrow{display:grid;grid-template-columns:minmax(200px,1.2fr) auto minmax(200px,1fr);gap:8px 14px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:6px;border-inline-start:4px solid #DCE3EA;transition:border-color .2s}
.fmrow[data-st=good]{border-inline-start-color:#2E8B57} .fmrow[data-st=attention]{border-inline-start-color:#C99A1E} .fmrow[data-st=partial]{border-inline-start-color:#D9772B} .fmrow[data-st=down]{border-inline-start-color:#C0392B}
.fmrow-n{display:flex;flex-direction:column;gap:2px;min-width:0} .fmrow-n b{font-size:13.5px} .fmrow-n small{font-size:11.5px;color:var(--muted);line-height:1.5} .fmrow-n .crit{color:#C0392B;font-size:10px;vertical-align:middle}
.fmrow-m{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:2px}
.fmseg{display:inline-flex;background:#F1F4F7;border-radius:10px;padding:3px;gap:2px}
.fmseg button{font:inherit;border:0;background:transparent;border-radius:8px;padding:6px 9px;cursor:pointer;display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--muted);transition:background .15s,color .15s}
.fmseg button i{font-style:normal;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:10px;background:#fff;color:var(--c);border:1.5px solid var(--c)}
.fmseg button.on{background:var(--c);color:#fff} .fmseg button.on i{background:#fff;color:var(--c);border-color:#fff}
.fmseg button:disabled{cursor:default} .fmseg button:not(.on) span{display:none} .fmseg button:hover:not(:disabled):not(.on){background:#fff}
.fmrow-x{display:flex;flex-direction:column;gap:5px} .fmnote{font:inherit;font-size:12.5px;border:1px solid var(--line);border-radius:8px;padding:6px 9px;background:var(--surface2,#F8FAFC)}
.fmrow-o{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.fmochip{font:inherit;font-size:11.5px;font-weight:700;border:1px solid #BFE3F5;background:#EAF6FC;color:#1B6CA8;border-radius:999px;padding:2px 9px;cursor:pointer}
.fmneed{display:none;font-size:11.5px;font-weight:800;color:#C0392B;align-items:center;gap:6px} .fmrow.need .fmneed{display:inline-flex} .fmrow.need{background:#FFFBFA}
.fmofilt{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px} .fmofilt input#oq{min-width:220px}
.fmostats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px} .fmostats span{display:inline-flex;align-items:baseline;gap:6px;font-size:12.5px;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:6px 12px;border-top:3px solid var(--c)} .fmostats b{font-size:18px;color:var(--text)}
.fmod-h{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;border-inline-start:4px solid var(--c);padding:2px 10px;margin-bottom:8px} .fmod-h div{display:flex;flex-direction:column;gap:2px} .fmod-h b{font-size:15px;color:#123B5C}
.fmstep{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;background:#F3FAFE;border:1px solid #BFE3F5;border-radius:10px;padding:10px 12px;margin-top:10px} .fmstep .fld{flex:1;min-width:240px;margin:0}
.fmlog{display:flex;flex-direction:column;gap:6px;max-height:280px;overflow:auto}
.fml{background:var(--surface2,#F8FAFC);border:1px solid var(--line);border-radius:10px;padding:7px 10px;font-size:12.5px} .fml p{margin:3px 0 0;white-space:pre-wrap} .fml.change{background:#fff;border-style:dashed;color:var(--muted)} .fml b{margin-inline-end:6px}
.fmlogadd{display:flex;gap:8px;align-items:flex-end;margin-top:8px} .fmlogadd textarea{flex:1;font:inherit;font-size:13px;border:1px solid var(--line);border-radius:10px;padding:8px}
.fmprocf select{width:100%}
.fmrep{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px 26px} .fmrep h2{font-size:15px;color:#123B5C;margin:18px 0 8px}
.fmrep-h{display:flex;gap:14px;align-items:center;border-bottom:3px solid #123B5C;padding-bottom:12px} .fmrep-h img{height:52px} .fmrep-h h1{font-size:19px;color:#123B5C;margin:0} .fmrep-h p{margin:2px 0 0;color:var(--muted);font-size:12.5px} .fmrep-d{margin-inline-start:auto;font-size:11.5px;color:var(--muted);text-align:center}
.fmrep-k{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:14px} .fmrep-k div{border:1px solid var(--line);border-radius:10px;padding:8px 10px;border-top:3px solid #27A8DF} .fmrep-k b{display:block;font-size:20px;color:#123B5C} .fmrep-k span{font-size:11px;color:var(--muted)}
.fmrep-k .r{border-top-color:#C0392B} .fmrep-k .r b{color:#C0392B} .fmrep-k .a{border-top-color:#C99A1E} .fmrep-k .g{border-top-color:#2E8B57}
.fmtab.rep .fmc{width:26px;height:22px;font-size:10px;cursor:default} .fmtab.rep th.sh{font-size:8.5px;width:30px} .fmtab.rep th.fh{min-width:150px;font-size:11px}
@media (max-width:1200px){.fmkpis{grid-template-columns:repeat(3,1fr)} .fmk.ring{grid-column:span 3}}
@media (max-width:900px){.fm2col{grid-template-columns:1fr} .fmrow{grid-template-columns:1fr} .fmrep-k{grid-template-columns:repeat(3,1fr)}}
@media (max-width:600px){.fmkpis{grid-template-columns:repeat(2,1fr)} .fmk.ring{grid-column:span 2} .fmk>b{font-size:22px} .fmseg{display:flex;width:100%} .fmseg button{flex:1;justify-content:center;padding:8px 4px} .fmseg button.on span{display:none} .fmtab th.fh{min-width:130px} .fmbar{grid-template-columns:110px 1fr 22px} .fmolist.grid{grid-template-columns:1fr} .fmrep{padding:14px}}
@media print{.fmhead,.fmtabs,.side,.bottom,.topbar{display:none!important} .fmrep{border:0;padding:0} .fmtab.rep{font-size:9px} .fmc{-webkit-print-color-adjust:exact;print-color-adjust:exact} .fmrep-k div{break-inside:avoid}}
/* متابعة الأنظمة (2): آخر إجراء، بلا تحديث، الإغلاق من الجولة، التقرير */
.fmo-a{font-size:12px;color:#1d2b36;background:#F3FAFE;border-radius:8px;padding:4px 8px;line-height:1.6} .fmo-a small{color:var(--muted)} .fmo-a b{color:#C0392B;font-size:11.5px}
.fmo-a.stale{background:#FFF4F2}
.fmlast{background:#F3FAFE;border:1px solid #BFE3F5;border-inline-start:4px solid #27A8DF;border-radius:10px;padding:9px 12px;margin:8px 0 10px;display:flex;flex-direction:column;gap:3px}
.fmlast>span{font-size:11.5px;font-weight:800;color:#1B6CA8} .fmlast p{margin:0;font-size:13.5px;line-height:1.7;white-space:pre-wrap} .fmlast small{color:var(--muted);font-size:11.5px} .fmlast b{color:#C0392B;font-size:12px}
.fmlast.stale{background:#FFF6F4;border-color:#F1C7BF;border-inline-start-color:#C0392B} .fmlast.stale>span{color:#C0392B}
.fmfix{border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin:8px 0;display:flex;flex-direction:column;gap:6px} .fmfix textarea{font:inherit;font-size:13px;border:1px solid var(--line);border-radius:8px;padding:6px 8px}
.fmr-o{padding:3px 0} .fmr-o+.fmr-o{border-top:1px dashed var(--line);margin-top:4px;padding-top:6px}
.fmr-act{font-size:12px;color:#1d2b36;background:#F3FAFE;border-radius:6px;padding:3px 7px;margin-top:3px;line-height:1.6} .fmr-act small{color:var(--muted)} .fmr-act.stale{background:#FFF4F2;color:#A33}
.mb12{margin-bottom:12px}
@media print{.fmr-act{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
@media (max-width:640px){.fmrep-h{flex-wrap:wrap;gap:8px 12px} .fmrep-h img{height:40px} .fmrep-h>div:nth-child(2){flex:1;min-width:180px} .fmrep-h h1{font-size:16.5px;line-height:1.4} .fmrep-d{flex-basis:100%;text-align:start;margin:0;font-size:12px} .fmrep-d br{display:none}}

/* ===== إدارة الخدمات الفنية: المحرّك التشغيلي، لوحة الإدارة، صفحات الأقسام (حزمة 73) ===== */
.ndot{width:10px;height:10px;border-radius:50%;background:var(--c);flex:none;margin:0 4px;box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 18%,transparent)}
.snav a.on .ndot{box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 35%,transparent)}
.opill{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:800;color:var(--c,#7A8794);background:color-mix(in srgb,var(--c,#7A8794) 12%,#fff);border-radius:999px;padding:2px 9px;white-space:nowrap}
.opill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.oprio{font-size:11px;font-weight:800;color:#fff;background:var(--c);border-radius:6px;padding:1px 7px;white-space:nowrap} .oprio.p3,.oprio.p4{color:var(--c);background:color-mix(in srgb,var(--c) 12%,#fff)}
.osla{font-size:11.5px;font-weight:700;color:var(--muted);white-space:nowrap} .osla.warn{color:#A47A0F} .osla.bad{color:#C0392B} .osla.ok{color:#2E8B57}
.olink{font-size:11px;font-weight:700;color:#6B4C9A;background:#F1ECF8;border-radius:6px;padding:1px 7px;white-space:nowrap}
.olist{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:8px} .pcard .olist,.dk~.fm2col .olist{grid-template-columns:1fr}
.oi{display:flex;flex-direction:column;gap:5px;text-align:start;font:inherit;cursor:pointer;background:var(--surface);border:1px solid var(--line);border-inline-start:4px solid var(--c);border-radius:12px;padding:10px 12px;transition:box-shadow .15s,transform .12s;color:var(--text);min-width:0}
.oi:hover{box-shadow:var(--shadow);transform:translateY(-1px)} .oi.late{background:linear-gradient(90deg,#fff,#FFF6F4)} .oi.done,.oi.cancelled{opacity:.72}
.oi-h{display:flex;align-items:center;gap:8px;min-width:0} .oi-h b{font-size:13.5px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.oi-k{font-size:16px;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:var(--surface2);flex:none} .oi-k.big{width:42px;height:42px;font-size:22px;border-radius:12px}
.oi-ref{font-size:11px;color:var(--faint);direction:ltr;unicode-bidi:isolate;font-variant-numeric:tabular-nums;white-space:nowrap}
.oi-m{font-size:12px;color:var(--muted)} .oi-a{font-size:12px;color:#1B6CA8;background:#F3FAFE;border-radius:8px;padding:4px 8px} .oi-a small{color:var(--faint)}
.oi-f{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.ostats{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px} .ostats span{display:inline-flex;gap:6px;align-items:baseline;font-size:12px;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--c);border-radius:10px;padding:6px 10px} .ostats b{font-size:16px;color:var(--c)}
.oview{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden} .oview button{border:0;background:var(--surface);font:inherit;font-size:12.5px;font-weight:700;padding:6px 12px;color:var(--muted);cursor:pointer} .oview button.on{background:var(--navy);color:#fff}
.oboard{display:grid;grid-template-columns:repeat(5,minmax(240px,1fr));gap:10px;overflow-x:auto;padding-bottom:6px}
.obcol{background:var(--surface2);border:1px solid var(--line);border-top:3px solid var(--c);border-radius:12px;padding:8px;min-height:120px} .obcol h3{font-size:13px;margin:2px 4px 8px;display:flex;justify-content:space-between;color:var(--text)} .obcol h3 span{color:var(--c)} .obcol>div{display:flex;flex-direction:column;gap:8px}
.ocat{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin-top:8px}
.ocard{display:flex;flex-direction:column;gap:6px;text-align:start;font:inherit;cursor:pointer;background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--c);border-radius:14px;padding:14px;transition:transform .12s,box-shadow .15s;color:var(--text)}
.ocard:hover{transform:translateY(-2px);box-shadow:var(--shadow2,var(--shadow))} .ocard b{font-size:14.5px} .ocard small{font-size:12px;color:var(--muted);line-height:1.6;flex:1}
.ocard-i{font-size:24px;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 12%,#fff)} .ocard-f{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.okhead{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:color-mix(in srgb,var(--c) 7%,#fff);border:1px solid color-mix(in srgb,var(--c) 25%,#fff);border-radius:12px;padding:10px 12px} .okhead div{display:flex;flex-direction:column} .okhead small{color:var(--muted);font-size:12px}
.oprioseg{display:grid;grid-template-columns:repeat(4,1fr);gap:6px} .oprioseg label{display:flex;flex-direction:column;gap:2px;border:1.5px solid var(--line);border-radius:10px;padding:8px 10px;cursor:pointer;font-size:12px}
.oprioseg label b{color:var(--c);font-size:13.5px} .oprioseg label small{color:var(--muted);font-size:11px;line-height:1.4} .oprioseg input{display:none} .oprioseg label:has(input:checked){border-color:var(--c);background:color-mix(in srgb,var(--c) 9%,#fff);box-shadow:0 0 0 2px color-mix(in srgb,var(--c) 25%,transparent)}
.ohead{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-inline-start:4px solid var(--c);padding:4px 10px;margin:4px 0 8px} .ohead>div{display:flex;flex-direction:column;min-width:0} .ohead b{font-size:15.5px} .ohead .muted{font-size:12px}
.ochain{display:flex;flex-direction:column;gap:6px} .ochain-i{display:flex;align-items:center;gap:8px;flex-wrap:wrap;text-align:start;font:inherit;cursor:pointer;background:var(--surface);border:1px solid var(--line);border-inline-start:4px solid var(--c);border-radius:10px;padding:8px 10px;text-decoration:none;color:var(--text)}
.ochain-i:hover{background:var(--surface2)} .ochain-r{font-size:11.5px;font-weight:800;color:var(--muted)} .ochain-i b{font-size:13px}
.ostars{display:flex;flex-direction:column;gap:4px;margin:8px 0} .ostars label{display:flex;gap:8px;align-items:center;cursor:pointer;font-size:18px;color:#C99A1E}
.mb8{margin-bottom:8px}
/* لوحة الإدارة */
.tsdhero{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;background:linear-gradient(135deg,#0E2F4A,#123B5C 55%,#1B6CA8);color:#fff;border-radius:18px;padding:22px 24px;margin:4px 0 16px;box-shadow:0 10px 30px rgba(18,59,92,.18);position:relative;overflow:hidden}
.tsdhero::after{content:"";position:absolute;inset-inline-end:-80px;top:-80px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(39,168,223,.35),transparent 70%)}
.tsdhero small{color:#9FD6F0;font-weight:700} .tsdhero h1{font-size:26px;margin:2px 0 6px} .tsdhero p{color:#D6E6F2;font-size:13.5px;line-height:1.8;max-width:560px} .tsdhero .btnrow{margin-top:12px} .tsdhero .btn:not(.primary){background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.25)} .tsdhero .btn.primary{background:#27A8DF;border-color:#27A8DF}
.tsdk{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;align-content:center;position:relative;z-index:1} .tsdk div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column}
.tsdk b{font-size:24px;line-height:1.1} .tsdk span{font-size:12px;color:#BFD8EA} .tsdk .r b{color:#FF9C8F} .tsdk .a b{color:#FFD27A} .tsdk .g b{color:#8FE0B0}
.tsdunits{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.tsdu{display:flex;flex-direction:column;gap:8px;background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--c);border-radius:14px;padding:12px 14px;text-decoration:none;color:var(--text);box-shadow:var(--shadow);transition:transform .12s,box-shadow .15s}
.tsdu:hover{transform:translateY(-2px);box-shadow:var(--shadow2,var(--shadow))} .tsdu-h{display:flex;flex-direction:column} .tsdu-h b{font-size:15px;color:var(--c)} .tsdu-h small{color:var(--muted);font-size:11.5px}
.tsdu-n{display:flex;gap:6px} .tsdu-n span{flex:1;display:flex;flex-direction:column;align-items:center;background:var(--surface2);border-radius:9px;padding:5px 2px;font-size:11px;color:var(--muted)} .tsdu-n b{font-size:18px;color:var(--text)} .tsdu-n .r b{color:#C0392B}
.tsdu-f{display:flex;flex-wrap:wrap;gap:5px} .tsdu-f i{font-style:normal;font-size:11px;font-weight:700;border-radius:6px;padding:1px 7px} .tsdu-f .fresh{background:#EEF1F5;color:#56677A} .tsdu-f .urg{background:#FDEBE5;color:#C0392B} .tsdu-f .sys{background:#FFF3DF;color:#A06200} .tsdu-f .ok{background:#E7F5EC;color:#2E8B57}
.oflows{display:flex;flex-direction:column;gap:6px} .oflow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font:inherit;text-align:start;background:var(--surface2);border:1px solid var(--line);border-radius:10px;padding:8px 10px;cursor:pointer} .oflow:hover{border-color:var(--lblue)} .oflow b{font-size:16px;color:var(--navy)} .oflow small{flex-basis:100%;color:var(--muted);font-size:11.5px} .arr{color:var(--faint);font-weight:800}
.oact{display:flex;flex-direction:column} .oact-i{display:grid;grid-template-columns:12px auto 1fr auto;gap:8px;align-items:baseline;font:inherit;text-align:start;background:none;border:0;border-bottom:1px dashed var(--line2);padding:8px 2px;cursor:pointer;color:var(--text)} .oact-i:hover{background:var(--surface2)}
.oact-i .dot{width:9px;height:9px;border-radius:50%;background:var(--c)} .oact-i b{font-size:12.5px;white-space:nowrap} .oact-i span{font-size:12.5px;color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} .oact-i small{font-size:11px;color:var(--faint);white-space:nowrap}
/* صفحة القسم */
.dhero{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap;justify-content:space-between;background:linear-gradient(135deg,color-mix(in srgb,var(--c) 14%,#fff),#fff 70%);border:1px solid color-mix(in srgb,var(--c) 28%,#fff);border-inline-start:6px solid var(--c);border-radius:16px;padding:18px 20px;margin:4px 0 12px}
.dhero small{color:var(--muted);font-weight:700;font-size:11.5px} .dhero h1{font-size:23px;color:var(--c);margin:2px 0 4px;filter:brightness(.8)} .dhero p{font-size:13px;color:var(--text);max-width:640px;line-height:1.8} .dhead{display:inline-block;margin-top:6px;font-size:12.5px;color:var(--muted)}
.dhero-a{display:flex;flex-wrap:wrap;gap:8px} .fmkpis.dk{grid-template-columns:repeat(6,1fr)}
.dmini{display:grid;grid-template-columns:repeat(4,1fr);gap:8px} .dmini a{display:flex;flex-direction:column;align-items:center;background:var(--surface2);border-radius:10px;padding:10px;text-decoration:none;color:var(--muted);font-size:12px} .dmini b{font-size:22px;color:var(--navy)}
.dsys{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px} .dsys a{display:flex;flex-direction:column;gap:2px;text-decoration:none;color:var(--text);border:1px solid var(--line);border-inline-start:4px solid #2E8B57;border-radius:10px;padding:8px 10px;font-size:12px}
.dsys a.a{border-inline-start-color:#C99A1E} .dsys a.r{border-inline-start-color:#C0392B;background:#FFF8F6} .dsys b{font-size:13px} .dsys b i{color:#C0392B;font-style:normal;font-size:10px} .dsys span{color:var(--muted)} .dsys em{color:#C0392B;font-style:normal;font-weight:800}
.dhand{display:flex;flex-direction:column;gap:6px} .dhand>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-bottom:1px dashed var(--line2);padding:6px 0} .dhand>div>span:not(.uchip):not(.arr){display:flex;flex-direction:column;flex:1;min-width:200px;font-size:12.5px} .dhand small{color:var(--muted)}
.drules{display:flex;flex-direction:column;gap:6px} .drules a{font-size:13px}
.dteam{display:flex;flex-direction:column;gap:6px} .dmem{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:8px 12px} .dmem .av{width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:800}
.dmem>div{display:flex;flex-direction:column} .dmem small{color:var(--muted);font-size:11.5px} .dmem-n{display:flex;flex-direction:column;align-items:center;font-size:11px;color:var(--muted);min-width:52px} .dmem-n b{font-size:16px;color:var(--text)} .dmem-n.r b{color:#C0392B} .dmem-n.g b{color:#2E8B57}
@media (max-width:1200px){.tsdunits{grid-template-columns:repeat(2,1fr)} .fmkpis.dk{grid-template-columns:repeat(3,1fr)}}
@media (max-width:900px){.tsdhero{grid-template-columns:1fr} .oboard{grid-template-columns:repeat(5,82vw)}}
@media (max-width:600px){.tsdunits{grid-template-columns:1fr 1fr} .tsdk{grid-template-columns:repeat(2,1fr)} .tsdhero{padding:18px} .tsdhero h1{font-size:21px} .fmkpis.dk{grid-template-columns:repeat(2,1fr)} .oprioseg{grid-template-columns:1fr 1fr} .olist{grid-template-columns:1fr} .dmini{grid-template-columns:1fr 1fr} .oact-i{grid-template-columns:12px 1fr} .oact-i small{grid-column:2} .dmem{flex-wrap:wrap}}
/* الأعمال الحرجة: البوابات، قائمة التحقق، النافذ الآن، سجل المواقع (حزمة 74) */
.ogates{display:flex;flex-direction:column;gap:6px} .ogate{display:flex;align-items:center;gap:10px;border:1px dashed color-mix(in srgb,var(--c) 45%,#fff);border-radius:10px;padding:8px 10px;background:color-mix(in srgb,var(--c) 5%,#fff)}
.ogate.ok{border-style:solid;background:#F2FAF5;border-color:#BFE3CC} .ogate-i{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--line);flex:none} .ogate.ok .ogate-i{background:#2E8B57;color:#fff;border-color:#2E8B57}
.ogate>div{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0} .ogate b{font-size:13px} .ogate small{font-size:11.5px;color:var(--muted);display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.ocheck{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px} .ocheck label{display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:9px;padding:7px 10px;font-size:12.5px;cursor:pointer} .ocheck label.on{background:#F2FAF5;border-color:#BFE3CC;color:#1F6B43}
.ocrit{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:8px} .ocrit-i{display:flex;gap:10px;align-items:flex-start;font:inherit;text-align:start;cursor:pointer;background:var(--surface);border:1px solid var(--line);border-inline-start:4px solid var(--c);border-radius:12px;padding:10px;color:var(--text)}
.ocrit-i:hover{box-shadow:var(--shadow)} .ocrit-i>span:nth-child(2){display:flex;flex-direction:column;gap:2px;flex:1;min-width:0} .ocrit-i b{font-size:13px} .ocrit-i small{font-size:11.5px;color:var(--muted)} .ocrit-i em{color:#C0392B;font-style:normal;font-weight:800} .ocrit-i.over{background:#FFF8F6}
.ostats span.on{box-shadow:0 0 0 2px var(--c)}
.olocs{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px} .oloc{display:flex;flex-direction:column;gap:3px;font:inherit;text-align:start;cursor:pointer;background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--c);border-radius:12px;padding:10px;color:var(--text)}
.oloc:hover{box-shadow:var(--shadow)} .oloc>b{direction:ltr;text-align:end;font-size:13.5px;font-variant-numeric:tabular-nums} .oloc>span{font-size:13px} .oloc>small{font-size:11.5px;color:var(--muted)} .oloc.closed{background:#FFF8F6}
/* الأصول والأعمال المخططة (حزمة 75) */
.dplans{display:flex;flex-direction:column;gap:6px} .dplans>button,.dplans>div{display:flex;flex-direction:column;gap:2px;font:inherit;text-align:start;background:var(--surface);border:1px solid var(--line);border-inline-start:4px solid #6B4C9A;border-radius:10px;padding:8px 10px;cursor:pointer;color:var(--text)}
.dplans>button:hover{box-shadow:var(--shadow)} .dplans b{font-size:13px} .dplans span{font-size:12px;color:var(--muted)} .dplans .late{border-inline-start-color:#C0392B} .dplans .off{opacity:.55}
.dup{display:flex;flex-direction:column} .dup>div{display:grid;grid-template-columns:110px 1fr;gap:8px;padding:6px 2px;border-bottom:1px dashed var(--line2);font-size:12.5px} .dup b{color:var(--navy)} .dup .late b{color:#C0392B}
.row2{display:flex;gap:6px;align-items:center} .row2 select{flex:1}
/* التقرير الشهري للإدارة (حزمة 76) */
.tsdrep{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 22px} .tsdrep h2{font-size:15px;color:#123B5C;margin:18px 0 8px}
.rbars{display:flex;flex-direction:column;gap:3px;min-width:120px} .rbars i{display:block;height:7px;border-radius:4px}
@media print{.tsdrep{border:0;padding:0} .noprint{display:none!important}}
