:root{
  --bg:#f3f5f7;--card:#fff;--ink:#1f2933;--muted:#64707d;--line:#dde2e7;--pri:#36414d;--pri2:#52606e;--pri-soft:#e7eaee;
  --ok:#17803d;--ok-soft:#dcf3e4;--warn:#9a5b00;--warn-soft:#fdeccc;--bad:#b42318;--bad-soft:#fde3e0;--info:#2c55a8;--info-soft:#e2eafb;
  --rest:#eef0f2;--radius:10px;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:Cairo,Tahoma,sans-serif;font-size:14px}
.hidden{display:none!important}
.muted{color:var(--muted)}.small{font-size:13px}
input,select,textarea,button{font:inherit}
input,select,textarea{border:1px solid var(--line);border-radius:8px;padding:7px 9px;background:#fff;color:var(--ink);min-width:0}
input:focus,select:focus,textarea:focus{outline:2px solid var(--pri2);outline-offset:0;border-color:var(--pri2)}
label{display:flex;flex-direction:column;gap:3px;font-size:13px;color:var(--muted)}
label>input,label>select,label>textarea{color:var(--ink);font-size:14px}
.btn{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:8px;padding:7px 14px;cursor:pointer;font-weight:600;white-space:nowrap}
.btn:hover{border-color:var(--pri2)}
.btn.primary{background:var(--pri);border-color:var(--pri);color:#fff}.btn.primary:hover{background:var(--pri2)}
.btn.danger{color:var(--bad);border-color:#f0c4be}.btn.ok{color:var(--ok);border-color:#b7e0c4}
.btn.ghost{background:transparent;border-color:transparent;color:inherit}
.btn.sm{padding:3px 10px;font-size:13px}.btn.wide{width:100%}
.btn:disabled{opacity:.5;cursor:not-allowed}
.icon-btn{background:none;border:0;font-size:20px;cursor:pointer;color:inherit;padding:4px 8px}
/* login */
.login{min-height:calc(100vh * var(--zv,1));display:grid;place-items:center;padding:16px;background:linear-gradient(160deg,var(--pri),var(--pri2) 60%,color-mix(in srgb,var(--pri) 38%,#fff))}
.login-card{background:#fff;padding:28px;border-radius:14px;width:min(380px,100%);display:flex;flex-direction:column;gap:12px;box-shadow:0 10px 30px #0003}
.brand-big{font-size:24px;font-weight:700;color:var(--pri);direction:ltr;text-align:center}
.login-card .muted{text-align:center}
/* shell */
.top{position:sticky;top:0;z-index:30;height:54px;background:var(--pri);color:#fff;display:flex;align-items:center;gap:8px;padding:0 10px}
.brand{font-weight:700;direction:ltr}.spacer{flex:1}.who{font-size:13px;opacity:.9}
.nav{position:fixed;top:54px;right:0;bottom:0;width:210px;background:#fff;border-left:1px solid var(--line);overflow:auto;padding:8px;z-index:25}
.nav a{display:flex;gap:8px;align-items:center;padding:9px 12px;border-radius:8px;color:var(--ink);text-decoration:none;font-weight:600}
.nav a:hover{background:var(--pri-soft)}.nav a.on{background:var(--pri);color:#fff}
.nav .sec{font-size:15px;font-weight:800;color:var(--pri);background:var(--pri-soft);border-radius:8px;padding:7px 12px;margin:14px 4px 4px}
.nav .sec:first-child{margin-top:4px}
.nav .badge{margin-inline-start:auto}
main{margin-right:210px;padding:18px;max-width:1500px}
body.zm-out main{max-width:none}   /* الخط أصغر ← الصفحة تملى الشاشة بدل ما تتلم في النص */
.shade{display:none}
#menuBtn{display:none}
@media(max-width:900px){
  #menuBtn{display:block}.who .wn{display:none}
  .nav{transform:translateX(100%);transition:transform .2s;width:240px}
  .nav.open{transform:none}
  .shade.open{display:block;position:fixed;inset:54px 0 0 0;background:#0004;z-index:20}
  main{margin-right:0;padding:12px}
}
/* page */
h2.page{margin:0 0 12px;font-size:20px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin-bottom:14px}
.card h3{margin:0 0 10px;font-size:16px}
.bar{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin-bottom:12px}
.bar label{min-width:120px}
.grid{display:grid;gap:10px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:700px){.g2,.g3,.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.g2,.g3,.g4{grid-template-columns:minmax(0,1fr)}.grid>label{grid-column:auto!important}}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:14px}
.stat{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:12px}
.stat .n{font-size:22px;font-weight:700}.stat .l{color:var(--muted);font-size:13px}
.stat.warn{border-color:#f2cf8c;background:var(--warn-soft)}.stat.bad{border-color:#f0b8b0;background:var(--bad-soft)}
.tw{overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff;max-height:calc(70vh * var(--zv,1))}
table.t{width:100%;border-collapse:collapse;font-size:13px}
.t th{position:sticky;top:0;background:color-mix(in srgb,var(--pri) 4%,#fff);z-index:2;font-weight:700;color:#33504d;white-space:nowrap}
.t th,.t td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:right;vertical-align:top}
.t tr:hover td{background:color-mix(in srgb,var(--pri) 3%,#fff)}
.t td.num,.t th.num{text-align:left;white-space:nowrap;font-variant-numeric:tabular-nums}
.t tfoot td{font-weight:700;background:color-mix(in srgb,var(--pri) 4%,#fff);position:sticky;bottom:0}
.t .link{color:var(--pri);cursor:pointer;text-decoration:underline dotted}
.t .sticky1{position:sticky;right:0;background:#fff;z-index:1}
.t th.sticky1{z-index:3;background:color-mix(in srgb,var(--pri) 4%,#fff)}
.pill{display:inline-block;padding:1px 9px;border-radius:20px;font-size:13px;font-weight:600;white-space:nowrap}
.p-ok{background:var(--ok-soft);color:var(--ok)}.p-warn{background:var(--warn-soft);color:var(--warn)}
.p-bad{background:var(--bad-soft);color:var(--bad)}.p-info{background:var(--info-soft);color:var(--info)}.p-mute{background:var(--rest);color:var(--muted)}
.badge{background:var(--bad);color:#fff;border-radius:20px;font-size:13px;padding:0 7px;min-width:20px;text-align:center}
.alert{padding:10px 12px;border-radius:8px;margin-bottom:12px;border:1px solid}
.alert.warn{background:var(--warn-soft);border-color:#f2cf8c;color:#6b4000}
.alert.bad{background:var(--bad-soft);border-color:#f0b8b0;color:#7a160d}
.alert.ok{background:var(--ok-soft);border-color:#b7e0c4;color:#0f5a2a}
.alert.info{background:var(--info-soft);border-color:#bfd0f3;color:#1f3d7a}
.tabs{display:flex;gap:4px;border-bottom:2px solid var(--line);margin-bottom:12px;overflow:auto}
.tabs button{border:0;background:none;padding:8px 14px;font-weight:700;color:var(--muted);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;white-space:nowrap}
.tabs button.on{color:var(--pri);border-bottom-color:var(--pri)}
.tabs a{padding:8px 14px;font-weight:700;color:var(--muted);text-decoration:none;border-bottom:3px solid transparent;margin-bottom:-2px;white-space:nowrap}.tabs a.on{color:var(--pri);border-bottom-color:var(--pri)}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.days-pick{display:flex;flex-wrap:wrap;gap:6px}
.days-pick label{flex-direction:row;align-items:center;gap:4px;background:color-mix(in srgb,var(--pri) 4%,#fff);border:1px solid var(--line);padding:4px 8px;border-radius:8px;color:var(--ink)}
.chk{flex-direction:row!important;align-items:center;gap:6px!important;color:var(--ink)!important}
/* modal */
.modal{position:fixed;inset:0;background:#0006;z-index:50;display:flex;align-items:flex-start;justify-content:center;padding:calc(4vh * var(--zv,1)) 10px;overflow:auto}
.modal-box{background:#fff;border-radius:12px;width:min(900px,100%);box-shadow:0 10px 40px #0004}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line)}
.modal-head h3{margin:0;font-size:17px}
.modal-body{padding:16px;max-height:calc(72vh * var(--zv,1));overflow:auto}
.modal-foot{display:flex;gap:8px;justify-content:flex-start;padding:12px 16px;border-top:1px solid var(--line);flex-wrap:wrap}
.modal-foot:empty{display:none}
.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#1c2b2a;color:#fff;padding:10px 18px;border-radius:10px;z-index:60;max-width:90vw;box-shadow:0 6px 20px #0004}
.toast.err{background:var(--bad)}
/* calendar */
.cal td,.cal th{padding:2px;text-align:center;min-width:30px;font-size:13px}
.cal td.c{height:30px;border-left:1px solid #eef2f1}
.cal .off{background:var(--rest)}.cal .hol{background:#fde3e0}
.cal .lv{display:block;height:100%;min-height:24px;border-radius:4px;color:#fff;font-weight:700;line-height:24px}
.cal .pend{opacity:.55;background-image:repeating-linear-gradient(45deg,#fff5 0 4px,transparent 4px 8px)}
.legend{display:flex;gap:10px;flex-wrap:wrap;font-size:13px;margin:8px 0}
.legend span{display:inline-flex;align-items:center;gap:4px}.legend i{width:14px;height:14px;border-radius:3px;display:inline-block}
.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:13px}.kv b{color:var(--muted);font-weight:600}
.formula{background:color-mix(in srgb,var(--pri) 4%,#fff);border-radius:8px;padding:8px 12px;font-size:13px;margin:6px 0}
.hint{font-size:13px;color:var(--muted);margin-top:2px}
.setting-grp{border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:12px}
.setting-grp h4{margin:0 0 8px;color:var(--pri)}
a.btn{text-decoration:none;display:inline-block}
.t td.sticky1{white-space:nowrap}
.bell{position:relative;font-size:20px}
.bell-cnt{position:absolute;top:-2px;left:-4px;background:#e53935;color:#fff;border-radius:10px;font-size:13px;min-width:18px;height:18px;line-height:18px;padding:0 4px;font-weight:700;text-align:center}
.bell-panel{position:fixed;top:54px;left:8px;width:min(380px,calc(100vw - 16px));max-height:calc(70vh * var(--zv,1));overflow:auto;background:#fff;color:#1d2b2a;border-radius:12px;box-shadow:0 8px 30px #0003;z-index:40}
.bell-panel .bh{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid color-mix(in srgb,var(--pri) 10%,#fff);position:sticky;top:0;background:#fff}
.bell-panel .bi{display:block;padding:10px 14px;border-bottom:1px solid #f0f3f2;cursor:pointer}
.bell-panel .bi.unread{background:color-mix(in srgb,var(--pri) 6%,#fff)}
.bell-panel .bi b{display:block;font-size:14px}.bell-panel .bi span{font-size:13px;color:#445}.bell-panel .bi small{color:#889;font-size:13px}
.bell-panel .bf{padding:8px 14px;font-size:13px;color:#667;display:flex;justify-content:space-between;align-items:center;gap:8px}

.stat.click{cursor:pointer;transition:transform .12s, box-shadow .12s}
.stat.click:hover{transform:translateY(-2px);box-shadow:0 4px 14px rgba(0,0,0,.08)}
.stat.sel{outline:2px solid var(--primary,var(--pri));outline-offset:-2px}
.seg{display:inline-flex;flex-wrap:wrap;gap:4px}
.kn{font-size:18px;font-weight:700;white-space:nowrap}.kp{font-size:22px;color:var(--primary,var(--pri))}

/* صورة البروفايل */
.av{border-radius:50%;object-fit:cover;flex:none;display:inline-block;vertical-align:middle;background:color-mix(in srgb,var(--pri) 9%,#fff)}
.av-i{display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--pri) 15%,#fff);color:var(--pri);font-weight:800;line-height:1}
#who .av{margin-inline-end:4px}

.tm{font-weight:700;font-size:1.12em;white-space:nowrap;direction:ltr;unicode-bidi:isolate;display:inline-block}
.pill .tm{font-size:1.15em}.pill{font-size:13px}
.tm.dur{direction:rtl}

/* المجموعات تحت KPI والتقارير في القايمة */
.nav a.sub{padding:4px 10px;margin-inline-start:22px;font-weight:500;font-size:13px;color:var(--muted)}
.nav a.sub.on{background:var(--pri-soft);color:var(--pri)}

/* طلب المالك 2026-10-12: كل الخط في البرنامج أسود وتقيل وأكبر شوية — زي الساعات في الحضور اليومي */
:root{--ink:#0b1514;--muted:#33403f}
html,body{font-size:15px;font-weight:600}
b,strong,h1,h2,h3,h4,th{font-weight:800}
label{font-size:14px;color:var(--ink);font-weight:700}
label>input,label>select,label>textarea{font-size:15px;font-weight:600}
input,select,textarea{font-weight:600;color:var(--ink)}
.small{font-size:13px}
.hint{font-size:13px;color:var(--muted);font-weight:600}
.stat .l{color:var(--ink);font-size:13px;font-weight:700}
.stat .n{font-weight:800}
.t td{color:var(--ink);font-weight:600}
.btn{font-weight:700}
.nav a{font-weight:700}
.t th{color:var(--ink)}
html,body{overflow-x:hidden;max-width:100%}@supports (overflow:clip){html,body{overflow-x:clip}}   /* clip مش hidden: عشان الهيدر والشريط يفضلوا ثابتين فوق وانت نازل */
/* اسم البرنامج فوق: على الموبايل سطرين صغيرين ومرتبين (Tomorrow Tooth / Clinic) بدل ما يتقطع */
.brand{white-space:nowrap;flex:0 0 auto;line-height:1.15}
@media(max-width:600px){.brand{font-size:13px;text-align:center}.brand .b-l2{display:block;font-size:13px;opacity:.85;letter-spacing:2px}}
@media(max-width:350px){.brand{display:none}}
@media(max-width:600px){.top{gap:2px;padding:0 6px}.top .icon-btn{padding:4px 5px;font-size:18px}#logoutBtn{padding:3px 6px;font-size:13px}#brSw{font-size:13px;padding:3px 6px;max-width:30vw;overflow:hidden;text-overflow:ellipsis}}

/* تشييك التقفيل والتعقيم */
.opsprog{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:10px 0;display:flex;align-items:center;gap:10px}
.opsbar{flex:1;height:10px;background:color-mix(in srgb,var(--pri) 9%,#fff);border-radius:6px;overflow:hidden}.opsbar i{display:block;height:100%;background:var(--ok)}
.ops-grp{background:#fff;border:1px solid var(--line);border-radius:12px;margin:10px 0;overflow:hidden}
.ops-grp h3{margin:0;padding:9px 12px;background:var(--pri-soft);font-size:15px;font-weight:800;color:var(--pri);display:flex;justify-content:space-between}
.ops-it{display:flex;align-items:center;gap:12px;padding:11px 12px;border-top:1px solid color-mix(in srgb,var(--pri) 7%,#fff);cursor:pointer;user-select:none}
.ops-it .box{width:28px;height:28px;border:2.5px solid #9fb3b0;border-radius:7px;flex:none;display:grid;place-items:center;font-size:18px;color:transparent;font-weight:800}
.ops-it.on .box{background:var(--ok);border-color:var(--ok);color:#fff}
.ops-it .t{flex:1}.ops-it .by{font-size:13px;color:var(--ok);font-weight:700;margin-top:2px}
/* 📈 المبيعات والحملات */
.crm-head{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:6px}
.crm-sw{display:inline-flex;background:#fff;border:1px solid var(--line);border-radius:12px;padding:4px;gap:4px;margin:6px 0 12px;flex-wrap:wrap}
.crm-sw button{border:0;background:transparent;padding:9px 18px;border-radius:9px;font:inherit;font-weight:800;cursor:pointer;color:var(--muted)}
.crm-sw button.on.clinic{background:var(--pri);color:#fff}.crm-sw button.on.academy{background:#6b3fa0;color:#fff}
.tabs.crm-academy button.on{color:#6b3fa0;border-bottom-color:#6b3fa0}
.kanban{display:flex;gap:5px;overflow-x:auto;padding-bottom:8px;align-items:flex-start}
.kcol{min-width:112px;flex:1 1 0;background:#fff;border:1px solid var(--line);border-radius:10px}
.kcol.over{outline:2px dashed var(--pri2)}
.khead{display:flex;justify-content:space-between;align-items:center;gap:4px;padding:6px 7px;border-bottom:1px solid var(--line);font-weight:800;font-size:13px;line-height:1.3}
.kbody{padding:4px;display:flex;flex-direction:column;gap:5px;min-height:60px}
.kcard{border:1px solid var(--line);border-radius:8px;padding:6px;cursor:pointer;background:#fff;line-height:1.5;font-size:13px;overflow-wrap:anywhere}
.kcard .small{font-size:13px}
.kcard:hover{border-color:var(--pri2)}.kcard.drag{opacity:.4}.kcard.due{border-color:#f0cf8f;background:var(--warn-soft)}
.kname{font-weight:800;font-size:13px}.kempty{text-align:center;padding:8px}
.ctl{display:flex;flex-direction:column;gap:6px}.ctli{display:flex;gap:8px;align-items:flex-start}
.crm-bar{display:inline-block;width:60px;height:6px;background:var(--rest);border-radius:4px;vertical-align:middle;margin-inline-start:6px;overflow:hidden}.crm-bar i{display:block;height:100%;background:var(--pri2)}
.af-row{cursor:pointer}.af-row:hover td{background:var(--pri-soft)}
.af-fun{display:grid;grid-template-columns:110px 1fr 40px 40px;gap:8px;align-items:center;margin-top:6px}
.af-fbar{height:14px;background:var(--rest);border-radius:6px;overflow:hidden}.af-fbar i{display:block;height:100%;background:var(--pri2);border-radius:6px}
.af-trend{display:flex;gap:6px;align-items:flex-end;height:170px;margin-top:8px;overflow-x:auto}
.af-tc{flex:1;min-width:34px;text-align:center}.af-tb{position:relative;height:120px;display:flex;align-items:flex-end;justify-content:center}
.af-tb i{width:70%;background:#9fd8b2;border-radius:4px 4px 0 0}.af-tb em{position:absolute;bottom:0;width:40%;background:var(--info);border-radius:4px 4px 0 0}
@media(max-width:600px){.af-fun{grid-template-columns:90px 1fr 32px 34px;gap:5px}.crm-sw button{padding:8px 12px}.kcol{min-width:150px}}
@media(max-width:600px){.af-bar label{flex:1 1 calc(50% - 8px);min-width:0}.af-bar select,.af-bar input{width:100%}}

/* 💬 واتساب (قراءة بس) */
.wa-wrap{display:grid;grid-template-columns:320px 1fr;border:1px solid var(--line);border-radius:12px;overflow:hidden;height:calc(calc(100vh * var(--zv,1)) - 230px);min-height:420px;background:var(--card,#fff)}
.wa-list{overflow:auto;border-inline-end:1px solid var(--line)}
.wa-item{display:block;padding:9px 12px;border-bottom:1px solid var(--line);cursor:pointer;color:inherit;text-decoration:none}
.wa-item:hover,.wa-item.on{background:#f0f7f4}
.wa-prev{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wa-chat{display:flex;flex-direction:column;min-height:0;background:#efeae2}
.wa-top{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;background:#f0f2f5;border-bottom:1px solid var(--line)}
.wa-msgs{flex:1;overflow:auto;padding:12px;display:flex;flex-direction:column;gap:4px}
.wa-b{max-width:75%;padding:6px 9px 4px;border-radius:8px;font-size:14px;line-height:1.5;box-shadow:0 1px 1px #0000001a;position:relative}
.wa-b.in{align-self:flex-start;background:#fff}
.wa-b.out{align-self:flex-end;background:#d9fdd3}
.wa-t{display:block;font-size:13px;color:#667781;text-align:left;margin-top:2px}
.wa-day{align-self:center;background:#fff;color:#54656f;font-size:13px;padding:3px 10px;border-radius:8px;margin:8px 0;box-shadow:0 1px 1px #0000001a}
.wa-foot{padding:6px 12px;background:#f0f2f5;border-top:1px solid var(--line)}
.wa-back{display:none;margin:6px}
@media (max-width:760px){.wa-wrap{grid-template-columns:1fr}.wa-wrap.has-sel .wa-list{display:none}.wa-wrap:not(.has-sel) .wa-chat{display:none}.wa-back{display:inline-block}}

/* 📦 المخازن — كروت بأيقونات (نفس شكل الفردوس) */
.ivg{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin:8px 0 14px}
.ivg-s{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.ivg-c{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.ivc{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px 10px;
  color:var(--ink);text-decoration:none;cursor:pointer;font:inherit;transition:transform .15s,box-shadow .15s,border-color .15s;min-height:110px}
.ivc:hover{transform:translateY(-2px);box-shadow:0 6px 18px color-mix(in srgb,var(--pri) 12%,transparent);border-color:var(--pri)}
.ivc-ic{font-size:34px;line-height:1.1}.ivc-cat .ivc-ic{font-size:44px;width:72px;height:72px;display:grid;place-items:center;border-radius:20px;background:var(--pri-soft)}
.ivc-t{font-weight:800;font-size:1.02em}.ivc-n{font-size:26px;font-weight:800;color:var(--pri);font-variant-numeric:tabular-nums}.ivc-s{font-size:.88em;color:var(--muted)}
.ivc-b{display:flex;gap:4px;flex-wrap:wrap;justify-content:center;min-height:4px}
.ivc.warn{border-color:#f0c36d;background:var(--warn-soft)}.ivc.warn .ivc-n{color:var(--warn)}
.ivc.bad{border-color:#f0a8a0;background:var(--bad-soft)}.ivc.bad .ivc-n{color:var(--bad)}.ivc.zero{opacity:.6}
.ivi{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;color:var(--ink);text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s}
.ivi:hover{transform:translateY(-2px);box-shadow:0 6px 18px color-mix(in srgb,var(--pri) 12%,transparent);border-color:var(--pri)}
.ivi-ph{aspect-ratio:4/3;background:linear-gradient(135deg,var(--pri-soft),color-mix(in srgb,var(--pri) 3%,#fff));display:grid;place-items:center;overflow:hidden}
.ivi-ph{position:relative}.ivi-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ivi-ph span{font-size:46px}
.ivi-n{font-weight:800;padding:8px 10px 0;line-height:1.35;font-size:.95em}.ivi-s{font-size:.88em;color:var(--muted);padding:0 10px}
.ivi-b{display:flex;gap:4px;flex-wrap:wrap;padding:6px 10px 10px;margin-top:auto}
.ivi.low{border-color:#f0c36d}.ivi.zero .ivi-ph{filter:grayscale(.6);opacity:.75}
.ivcrumb{margin:4px 0 10px;font-size:.95em}.ivcrumb a{color:var(--pri);text-decoration:none;font-weight:700}
@media (max-width:600px){.ivg{grid-template-columns:repeat(2,1fr);gap:8px}.ivg-c{grid-template-columns:repeat(2,1fr)}.ivh-ph{width:100%;height:200px}.ivc{min-height:96px;padding:12px 6px}}
.seg button{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:7px 12px;cursor:pointer;font:inherit;color:var(--ink)}
.seg button.on{background:var(--pri);color:#fff;border-color:var(--pri)}
/* 📦 كارت الصنف + السكان + الصور + الجداول كروت على الموبايل (من مخازن الفردوس) */
.ivh{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}
.ivh-ph{width:170px;height:170px;border-radius:18px;overflow:hidden;background:linear-gradient(135deg,var(--pri-soft),color-mix(in srgb,var(--pri) 3%,#fff));display:grid;place-items:center;flex:none}
.ivh-ph img{width:100%;height:100%;object-fit:cover;cursor:zoom-in}.ivh-ph span{font-size:72px}
.ivh-b{flex:1;min-width:240px}
.ivh-st{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.ivh-st>div{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:8px 12px;display:flex;flex-direction:column;min-width:110px}
.ivh-st b{font-size:1.15em;font-variant-numeric:tabular-nums}.ivh-st span{font-size:.88em;color:var(--muted)}
.ivf{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.ivf-i{position:relative;width:96px;height:96px;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:var(--bg)}
.ivf-i img{width:100%;height:100%;object-fit:cover;cursor:zoom-in}
.ivf-pdf{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;font-size:30px;text-decoration:none;color:var(--ink);cursor:pointer}.ivf-pdf span{font-size:12px;padding:0 4px;overflow:hidden;max-width:90px;white-space:nowrap;text-overflow:ellipsis}
.ivf-x{position:absolute;top:3px;inset-inline-start:3px;border:0;border-radius:50%;width:22px;height:22px;background:rgba(0,0,0,.6);color:#fff;cursor:pointer;font-size:13px}
.ivf-add{width:96px;height:96px;border:2px dashed var(--line);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;font-size:28px;color:var(--pri)}
.ivf-add span{font-size:13px;font-weight:700}
#invScanOv{position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;padding:12px}
.isc-box{background:var(--card);border-radius:18px;padding:12px;width:min(460px,100%);max-height:100%;overflow:auto}
.isc-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.isc-cam{position:relative;background:#000;border-radius:12px;overflow:hidden;min-height:120px}.isc-cam video{width:100%;display:block}
.isc-frame{position:absolute;inset:18% 14%;border:3px solid rgba(255,255,255,.85);border-radius:14px;box-shadow:0 0 0 999px rgba(0,0,0,.25);pointer-events:none}
.isc-msg{margin:8px 0;color:var(--muted)}
@media(max-width:700px){
 .mcards{min-width:0!important;width:100%}
 .tw:has(.mcards){max-height:none;border:0;background:none}
 .mcards thead{display:none}
 .mcards,.mcards tbody{display:block}
 .mcards tr{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;margin:0 0 10px;padding:8px 12px}
 .mcards tr.grp{background:none;border:0;padding:6px 2px 0;margin:4px 0}
 .mcards td{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border:0!important;padding:4px 0!important;text-align:start}
 .mcards td[data-l]::before{content:attr(data-l);color:var(--muted,#6b7280);font-size:13px;flex:0 0 auto}
 .mcards td[data-l]>*{text-align:end}
 .mcards td.mc-head{font-weight:700;border-bottom:1px solid var(--line)!important;padding-bottom:8px!important;margin-bottom:4px}
 .mcards tr.grp td{display:block}
 .mcards td .v{text-align:end;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:2px 8px;align-items:center}
 .mcards td.mc-hide{display:none}
 .mcards .mc-only{display:inline}
}
.form{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;align-items:end}

/* 🏷 مربع الشركة: اللوجو / الصورة */
.ivc-br{position:relative}.ivc-br .ivc-ic img{width:100%;height:100%;object-fit:contain;border-radius:16px;background:#fff}
.ivc-ph{position:absolute;top:8px;inset-inline-start:8px;font-size:15px;cursor:pointer;opacity:.55;color:inherit}.ivc-ph:hover{opacity:1}
.ivc-br .ivc-ic{width:110px;height:110px;background:#fff;border:1px solid var(--line)}

/* 📦 كروت أصغر (طلب المالك 2026-10-17): الصنف والتصنيف الفرعي والشركة نفس المقاس */
.ivg{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px}
.ivi-ph{aspect-ratio:auto;height:86px}.ivi-ph span{font-size:34px}.ivi-ph img.ivi-logo{object-fit:contain;padding:10px;background:#fff}.ivi-ph img.ivi-prod{object-fit:contain;padding:4px;background:#fff}
.ivi-n{font-size:.88em;padding:6px 8px 0}.ivi-s{padding:0 8px}.ivi-b{padding:4px 8px 8px}
.ivc{min-height:0;padding:10px 6px;border-radius:14px}.ivc-n{font-size:20px}.ivc-ic{font-size:28px}
.ivc-cat .ivc-ic,.ivc-br .ivc-ic{width:64px;height:64px;font-size:34px;border-radius:16px}
.ivc .ic-img,.ivh-ph .ic-img{width:100%;height:100%;object-fit:contain;border-radius:inherit}
@media (max-width:600px){.ivg{grid-template-columns:repeat(3,1fr);gap:6px}.ivi-ph{height:70px}}
/* ⚙️ أقسام الإعدادات تتقفل (minimize) */
.ivx-wrap{display:flex;flex-direction:column;gap:10px}
details.ivx>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
details.ivx>summary::-webkit-details-marker{display:none}
details.ivx>summary::before{content:"▸";font-size:1.1em;color:var(--pri);transition:transform .15s}
details.ivx[open]>summary::before{transform:rotate(90deg)}
details.ivx>summary h3{margin:0}
details.ivx[open]>summary{margin-bottom:8px}
details.ivx-in{border:1px solid var(--line);border-radius:12px;padding:8px 12px;margin:6px 0;background:var(--card)}
.au-pick{display:flex;flex-wrap:wrap;gap:6px;max-height:150px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:6px}
label.au-chk{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--line);border-radius:20px;margin:0;font-size:.9em;cursor:pointer;white-space:nowrap}
label.au-chk input{margin:0;width:auto}
label.au-chk:has(input:checked){background:var(--pri-soft);border-color:var(--pri)}
/* 📲 شريط «نزّل البرنامج» */
.inst-bar{position:fixed;bottom:12px;left:12px;right:12px;z-index:60;display:flex;gap:8px;align-items:center;background:var(--card,#fff);border:1px solid var(--pri,var(--pri));border-radius:14px;padding:10px 12px;box-shadow:0 8px 24px rgba(0,0,0,.18);font-size:.92em}
.inst-bar span{flex:1}

/* 🧮 الجرد: السيستم جنب الموجود — والسطر بيخضر لما يطابق */
.ck-bar{height:8px;border-radius:6px;background:#e9eef0;margin:10px 0 4px;overflow:hidden}.ck-bar span{display:block;height:100%;background:var(--pri);transition:width .3s}
.ck-t td.ck-num{text-align:center;white-space:nowrap}.ck-in{display:inline-flex;gap:4px;align-items:center}.ck-in input{width:70px;text-align:center;font-weight:700}
tr.ck-ok{background:rgba(46,160,67,.10)}tr.ck-short{background:rgba(192,57,43,.08)}tr.ck-over{background:rgba(36,113,163,.08)}
tr.ck-flash{outline:3px solid var(--pri);transition:outline .2s}

/* 📖 الدليل */
.hp-sum{font-size:15px;line-height:1.8;margin-bottom:10px}
.hp-flow{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0;padding:10px;border-radius:12px;background:var(--pri-soft,color-mix(in srgb,var(--pri) 9%,#fff))}
.hp-st{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line,#dde);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600}
.hp-st b{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--pri);color:#fff;font-size:13px}
.hp-ar{color:var(--pri);font-weight:800}
.hp-steps{list-style:none;counter-reset:h;padding:0;margin:8px 0}.hp-steps li{counter-increment:h;display:grid;grid-template-columns:30px 1fr;gap:4px 10px;padding:10px 0;border-bottom:1px solid var(--line,#eee)}
.hp-steps li::before{content:counter(h);grid-row:span 2;width:28px;height:28px;border-radius:50%;background:var(--pri);color:#fff;display:grid;place-items:center;font-weight:800}
.hp-steps li b{font-size:15px}.hp-steps li span{line-height:1.8;color:#334}
.hp-tips{margin-top:10px;padding:10px 12px;border-radius:10px;background:#fff8e6;border:1px solid #f0d48a;line-height:1.9}
.hp-vid{width:100%;max-height:calc(70vh * var(--zv,1));border-radius:12px;background:#000;margin:6px 0 10px}
.hp-tile .ivc-s{font-size:13px;line-height:1.5}

/* 🧾 المصروفات */
.ex-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;margin-bottom:10px}
.ex-cat{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;border:1.5px solid var(--line,#e3e3e3);border-radius:12px;background:var(--card,#fff);cursor:pointer;font:inherit;font-size:.86em;color:inherit}
.ex-cat span{font-size:24px}.ex-cat.on{border-color:var(--pri);background:var(--pri-soft,color-mix(in srgb,var(--pri) 9%,#fff));font-weight:700}
.ex-sum{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:8px 0}
.ex-sumc{border:1px solid var(--line,#e3e3e3);border-radius:10px;padding:8px 10px;background:var(--card,#fff)}.ex-sumc div{font-size:.85em;color:var(--muted)}.ex-sumc b{font-size:1.15em}

.as-ph{width:42px;height:42px;border-radius:8px;object-fit:cover;flex:none;cursor:pointer;border:1px solid var(--line,#ddd)}
.as-ph0{display:inline-flex;align-items:center;justify-content:center;background:var(--soft,#f3f4f6);font-size:18px}
.as-gal{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.as-gi{position:relative}.as-gi img{width:120px;height:120px;object-fit:cover;border-radius:10px}
.as-gi button{position:absolute;top:4px;inset-inline-end:4px;padding:0 6px}

.grp-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}.grp-card{margin:0}
.grp-chip{display:inline-block;background:var(--soft,#f1f5f9);border-radius:8px;padding:1px 6px;margin:1px 0}
.grp-mx td,.grp-mx th{padding:4px 6px}.grp-mx input{width:18px;height:18px}
.pu-btn{margin-inline-start:6px;vertical-align:middle}
#puOv{position:fixed;inset:0;background:#0007;z-index:10050;display:flex;align-items:center;justify-content:center}
#puOv .pu-box{background:var(--card,#fff);border-radius:14px;padding:16px;width:min(340px,92vw);box-shadow:0 10px 40px #0004}

.nav a .badge.nb{background:#dc2626;color:#fff;border-radius:999px;padding:0 7px;font-size:13px;margin-inline-start:6px;min-width:20px;text-align:center}
.pg-al{margin:0 0 10px;padding:8px 12px;border-right:5px solid #dc2626}.pg-al summary{cursor:pointer}.pg-al .badge.nb{background:#dc2626;color:#fff;border-radius:999px;padding:0 7px;font-size:13px}
.pg-al-l{display:flex;flex-direction:column;gap:4px;margin-top:6px}.pg-al-i{display:block;padding:6px 8px;border-radius:8px;background:#fef2f2;color:inherit;text-decoration:none}
.pg-al-i.i{background:var(--soft,#f1f5f9)}.pg-al-i:hover{filter:brightness(.96)}

.nav a .badge.nb.nbp{background:#f59e0b}
.ai-wrap{display:grid;grid-template-columns:220px 1fr;gap:10px}@media(max-width:800px){.ai-wrap{grid-template-columns:1fr}.ai-side{order:2}}
.ai-side{margin:0;padding:10px}.ai-ch{display:flex;flex-direction:column;padding:6px 8px;border-radius:8px;color:inherit;text-decoration:none;margin-top:4px}.ai-ch.on,.ai-ch:hover{background:var(--soft,#f1f5f9)}
.ai-main{margin:0;padding:10px;display:flex;flex-direction:column}.ai-msgs{min-height:320px;max-height:calc(62vh * var(--zv,1));overflow:auto;display:flex;flex-direction:column;gap:8px;padding:4px}
.ai-b{padding:10px 12px;border-radius:14px;max-width:88%;line-height:1.8}.ai-b.u{align-self:flex-start;background:var(--pri,var(--pri));color:#fff}.ai-b.a{align-self:flex-end;background:var(--soft,#f1f5f9)}
.ai-steps{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.ai-step{font-size:13px;background:#e0f2fe;color:#075985;border-radius:999px;padding:1px 8px}.ai-step.bad{background:#fee2e2;color:#991b1b}
.ai-tr{display:flex;gap:10px;border-bottom:1px solid var(--line,#e5e7eb);padding:2px 0}.ai-tr span{flex:1}.ai-li{padding-inline-start:4px}
.ai-in{display:flex;gap:6px;margin-top:8px}.ai-in textarea{flex:1;resize:vertical}.ai-sug{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.ai-acts{display:flex;flex-direction:column;gap:4px}.ai-act{font-size:13px}.ai-pa{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;padding:6px 0;border-top:1px solid var(--line,#eee);flex-wrap:wrap}

/* 🧾 فاتورة بالتفصيل */
.bv h4{margin:12px 0 6px}
.bv-files{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}
.bv-img{max-width:220px;max-height:220px;border-radius:8px;border:1px solid var(--line,#ddd);object-fit:cover}
.bv-doc{display:inline-block;padding:6px 10px;border:1px solid var(--line,#ddd);border-radius:8px;font-size:13px}
.bv-pay{border:1px solid var(--line,#e5e5e5);border-radius:10px;padding:8px;margin-bottom:8px;display:grid;gap:6px}

/* 🏢 الموردين — كروت */
.sp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin:10px 0}
.sp-card{background:var(--card,#fff);border:1px solid var(--line,#e3e6e8);border-radius:14px;padding:14px;cursor:pointer;display:flex;flex-direction:column;gap:8px;
  border-top:5px solid #cfd6da;transition:transform .12s, box-shadow .12s}
.sp-card:hover,.sp-card:focus{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.08);outline:none}
.sp-card.owe{border-top-color:#d9534f;background:linear-gradient(#fff6f5,var(--card,#fff) 60%)}
.sp-card.done{border-top-color:#2e9d62;background:linear-gradient(#f2fbf6,var(--card,#fff) 60%)}
.sp-card.credit{border-top-color:#2f7fc1}
.sp-card.off{opacity:.55}
.sp-top{display:flex;align-items:center;gap:10px}
.sp-ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-weight:800;font-size:18px;background:color-mix(in srgb,var(--pri) 8%,#fff);color:var(--pri);flex:none}
.sp-card.owe .sp-ic{background:#fde3e1;color:#b03a35}.sp-card.done .sp-ic{background:#dcf3e6;color:#1f7a4a}
.sp-nm{flex:1;min-width:0}.sp-nm b{display:block;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sp-ed{flex:none}
.sp-amt b{font-size:20px}
.sp-chips{display:flex;flex-wrap:wrap;gap:6px}.sp-chips span{font-size:13px;background:#f2f4f5;border-radius:20px;padding:2px 9px}
.sp-ft{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}
.sp-badge{font-size:13px;font-weight:700;border-radius:20px;padding:3px 11px}
.sp-badge.bad{background:#fde3e1;color:#b03a35}.sp-badge.ok{background:#dcf3e6;color:#1f7a4a}.sp-badge.info{background:#e1eefa;color:#2a6aa3}.sp-badge.mute{background:#eef0f1;color:#777}
/* 🏗 الأصول — جدول أهدى */
.as-t td{border-bottom:1px solid #eef1f2;padding-top:10px;padding-bottom:10px}
.as-t tbody tr:not(.as-grp):hover{background:color-mix(in srgb,var(--pri) 3%,#fff)}
.as-t tr.as-grp td{background:color-mix(in srgb,var(--pri) 5%,#fff);border-bottom:none;padding:9px 12px;font-size:14px;position:sticky;top:0}
.as-sub{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}
.as-chip{font-size:13px;background:#f2f4f5;border-radius:20px;padding:1px 8px;color:#555;text-decoration:none;white-space:nowrap}
a.as-sup{background:color-mix(in srgb,var(--pri) 8%,#fff);color:var(--pri)}a.as-sup:hover{background:color-mix(in srgb,var(--pri) 15%,#fff)}
@media (prefers-color-scheme: dark){
  .sp-card.owe{background:linear-gradient(rgba(217,83,79,.12),var(--card) 60%)}.sp-card.done{background:linear-gradient(rgba(46,157,98,.12),var(--card) 60%)}
  .sp-chips span,.as-chip{background:rgba(255,255,255,.07);color:inherit}.as-t tr.as-grp td{background:rgba(255,255,255,.05)}.as-t td{border-bottom-color:rgba(255,255,255,.06)}
}

.seg{display:inline-flex;gap:4px}
.sp-list tr.sp-row.owe td:first-child{border-right:4px solid #d9534f}.sp-list tr.sp-row.done td:first-child{border-right:4px solid #2e9d62}.sp-list tr.sp-row.off{opacity:.55}
.sp-list tr.sp-row:hover{background:color-mix(in srgb,var(--pri) 3%,#fff)}

/* 👆 كروت وسطور بتفتح تفاصيلها */
[data-go]{cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,.06)}
.stat[data-go]{position:relative;transition:transform .1s, box-shadow .1s}
.stat[data-go]:hover{box-shadow:0 4px 14px rgba(0,0,0,.08);transform:translateY(-1px)}
.stat[data-go]:active{transform:scale(.98)}
.stat[data-go]::after{content:"‹";position:absolute;left:10px;top:8px;font-size:20px;color:#9aa5a9;line-height:1}
tr[data-go]:hover,div.row[data-go]:hover{background:color-mix(in srgb,var(--pri) 4%,#fff)}
@media (prefers-color-scheme: dark){tr[data-go]:hover,div.row[data-go]:hover{background:rgba(255,255,255,.05)}}
/* 👆 كل الكروت بتتداس: .clk (بيتعامل معاها JS) • data-rf (فلتر اللستة اللي تحتها) • data-scr (ينزل للتفاصيل) */
.stat.clk,.stat[data-rf],.stat[data-scr],.stat[data-sps],.stat[data-blc],.stat[data-ost],.stat[data-osr],.ivc[data-rf],.ivc[data-scr],.ivc[data-go],.ex-sumc[data-rf],.card[data-rf]{cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,.06)}
.stat.clk,.stat[data-rf],.stat[data-scr]{position:relative;transition:transform .1s, box-shadow .1s}
.stat.clk:hover,.stat[data-rf]:hover,.stat[data-scr]:hover,.ex-sumc[data-rf]:hover{box-shadow:0 4px 14px rgba(0,0,0,.08);transform:translateY(-1px)}
.stat.clk:active,.stat[data-rf]:active,.stat[data-scr]:active,.ex-sumc[data-rf]:active,.card[data-rf]:active{transform:scale(.98)}
.stat.clk::after,.stat[data-rf]::after,.stat[data-scr]::after{content:"‹";position:absolute;left:10px;top:8px;font-size:20px;color:#9aa5a9;line-height:1}
.stat.on,.ivc.on,.ex-sumc.on,.card[data-rf].on{outline:2px solid var(--primary,var(--pri));outline-offset:-2px}

/* القايمة الجانبية: ☰ بتخفيها على الكمبيوتر + كل قسم بيتقفل / يتفتح من عنوانه */
#menuBtn{display:block}
.nav{transition:transform .2s}
body.nav-min .nav{transform:translateX(100%)}
body.nav-min main{margin-right:0}
.nav .sec{cursor:pointer;display:flex;align-items:center;justify-content:space-between;user-select:none}
.nav .sec .sec-ar{font-size:13px;opacity:.7}
.nav .sec .badge.nb{margin-inline-start:auto;margin-inline-end:6px;font-size:13px}
@media(min-width:901px){main{transition:margin .2s}}
@media(max-width:900px){body.nav-min .nav.open{transform:none}}   /* الموبايل زي ما هو حتى لو القايمة متخبية على الكمبيوتر */

/* ▦ كل الصفحات كروت — صفحة لوحدها في آخر القايمة (طلب المالك 2026-10-18) */
.ap-home{flex-direction:row;align-items:center;gap:6px;font-size:13px;color:var(--muted);cursor:pointer}
.ap-q{width:100%;max-width:460px;margin:4px 0 14px;min-height:42px}
.ap-sec{margin-bottom:18px}
.ap-h{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:15px;color:var(--pri)}
.ap-h::after{content:"";flex:1;height:1px;background:var(--line)}
.ap-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.ap-t{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;background:var(--card);border:1px solid var(--line);border-radius:14px;min-height:112px;padding:14px 8px 10px;color:var(--ink);text-decoration:none;transition:transform .1s,box-shadow .1s}
.ap-t svg{color:var(--pri)}
.ap-t:hover{box-shadow:0 4px 14px rgba(0,0,0,.08);transform:translateY(-1px);border-color:var(--pri2)}
.ap-t:active{transform:scale(.98)}
.ap-l{font-weight:700;font-size:13.5px;line-height:1.35}
.ap-b{position:absolute;top:7px;left:7px;margin:0}
@media (max-width:600px){.ap-g{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ap-t{min-height:100px;padding:12px 4px 8px}.ap-l{font-size:13px}}
.ap-b.nbp{background:#f59e0b}

/* الرئيسية: «▦ كروت» يمين و«إظهار المبالغ» شمال — بحجم كبير، والزرار في نفس مكانه في الشكلين */
.home-bar{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 12px}
.home-bar .hb{font-size:15px;padding:9px 18px;min-height:44px;border-radius:10px}

/* 📊 التحليلات */
.an-grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:12px}
.an-card{margin:0}.an-card h3{margin:0 0 10px;font-size:15px}.an-card.wide{grid-column:1/-1}
.an-empty{color:var(--muted);padding:24px 0;text-align:center}
.an-donut{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.an-donut svg{width:150px;height:150px;flex-shrink:0}
.an-seg{cursor:pointer;transition:stroke-width .1s}.an-seg:hover{stroke-width:28}
.an-dt{font-size:20px;font-weight:800;fill:var(--ink)}.an-ds{font-size:13px;fill:var(--muted)}
.an-leg{flex:1;min-width:170px;display:flex;flex-direction:column;gap:2px}
.an-li{display:grid;grid-template-columns:12px 1fr auto 38px;align-items:center;gap:8px;padding:5px 6px;border-radius:8px;color:var(--ink);text-decoration:none;font-size:13px}
.an-li[href]:hover{background:var(--pri-soft)}.an-li i{width:12px;height:12px;border-radius:3px}.an-li.zero{opacity:.55}
.an-li b{font-variant-numeric:tabular-nums}.an-pc{color:var(--muted);font-size:13px;text-align:left}
.an-bars{display:flex;flex-direction:column;gap:6px}
.an-bar{display:grid;grid-template-columns:minmax(90px,38%) 1fr auto;align-items:center;gap:8px;color:var(--ink);text-decoration:none;font-size:13px;padding:3px 4px;border-radius:8px}
.an-bar[href]:hover{background:var(--pri-soft)}
.an-bl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.an-bl small{display:block;color:var(--muted);font-size:13px}
.an-bt{height:12px;background:#eef2f1;border-radius:6px;overflow:hidden}.an-bt span{display:block;height:100%;background:#2a78d6;border-radius:6px}
.an-bar b{font-variant-numeric:tabular-nums;min-width:48px;text-align:left}
.an-trend svg{width:100%;height:auto}.an-grid{stroke:#e5ebea;stroke-width:1}.an-ax{font-size:13px;fill:var(--muted)}
.an-tl{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;margin-top:6px}.an-tl i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-inline-end:6px;vertical-align:-1px}
@media (max-width:600px){.an-grid2{grid-template-columns:1fr}.an-donut svg{width:130px;height:130px}}
@media (max-width:600px){.an-donut{flex-direction:column;align-items:stretch}.an-donut svg{align-self:center}.an-leg{min-width:0}}
.an-trend{overflow-x:auto}.an-trend svg{min-width:560px}
.an-grid2{grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr))}.an-card{min-width:0;overflow:hidden}.an-leg,.an-donut{min-width:0}

/* 🏛 رأس المال • 📅 آخر السنة • 🎯 الموازنة */
.ye-h td{background:var(--pri-soft);color:var(--pri);font-weight:800}
.ye-tot td{font-weight:800;border-top:2px solid var(--line)}
.ye-l1 td,.ye-l2 td{font-weight:700}.ye-l4 td{font-size:13px}
.ok{color:var(--ok)}.bad{color:var(--bad)}
.bd-in{width:120px;text-align:left}
.bd-bar{display:inline-block;width:70px;height:8px;background:#eef2f1;border-radius:4px;overflow:hidden;vertical-align:middle;margin-inline-end:6px}.bd-bar span{display:block;height:100%}
@media print{.top,.nav,.tabs,#accRes .row button,.crm-sw{display:none!important}main{margin:0!important}}
.an-li.neg{opacity:.85}.an-li.neg b{color:var(--bad)}

/* ⋮ الموبايل: البار فوق فيه بس ☰ • الفرع • صورتك • 🔔 • ⋮ — والباقي في القايمة */
#moreBtn{display:none;font-size:22px;font-weight:800}
.more-panel{position:fixed;top:56px;left:8px;z-index:60;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px #0003;min-width:220px;padding:6px;display:flex;flex-direction:column}
.more-panel button{background:none;border:0;text-align:start;padding:12px 14px;font:inherit;font-weight:700;color:var(--ink);border-radius:8px;cursor:pointer}
.more-panel button:hover{background:var(--pri-soft)}
@media(max-width:700px){#brSw{max-width:45vw}}

/* ➕ اختصارات • 🔎 بحث */
.qa-btn{font-weight:800}
.qa-h{margin:10px 0 8px;font-size:14px;color:var(--pri)}.qa-h:first-child{margin-top:0}
.qa-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.qa-t{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 10px;font:inherit;font-weight:700;color:var(--ink);cursor:pointer;text-align:center;min-height:56px}
.qa-t:hover{border-color:var(--pri2);background:var(--pri-soft)}
.qa-ck{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:4px}.qa-ck label{flex-direction:row;align-items:center;gap:6px;color:var(--ink);font-size:14px;padding:6px}
.gs-q{width:100%;font-size:16px;min-height:46px;margin-bottom:10px}
.gs-r{display:flex;flex-direction:column;gap:2px;max-height:calc(60vh * var(--zv,1));overflow:auto}
.gs-i{display:flex;gap:10px;align-items:center;padding:10px;border-radius:8px;color:var(--ink);text-decoration:none;cursor:pointer}.gs-i:hover{background:var(--pri-soft)}
.gs-k{font-size:13px;color:var(--muted);min-width:76px}
@media(max-width:700px){.qa-g{grid-template-columns:repeat(2,minmax(0,1fr))}#who .name,.who .nm{display:none}}

/* 🔎 📊 ➕ ❔ البار الصغير تحت البار الأخضر — في كل صفحة (طلب المالك 2026-10-18) */
.tool-wrap{position:sticky;top:54px;z-index:20;margin-right:210px;padding:8px 18px 0;background:var(--bg);display:flex;justify-content:center}
body.nav-min .tool-wrap{margin-right:0}
.tool-pill{display:flex;gap:4px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:4px;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.tool-pill button{display:flex;align-items:center;gap:6px;background:none;border:0;border-radius:999px;padding:7px 14px;font:inherit;font-weight:700;color:var(--ink);cursor:pointer;min-height:38px}
.tool-pill button:hover{background:var(--pri-soft)}
.tool-pill button.on .tp-l{color:var(--pri)}
.tool-pill .tp-i{font-size:17px;line-height:1}
@media(max-width:900px){.tool-wrap{margin-right:0;padding:6px 8px 0}}
.tool-pill .tp-out .tp-l{color:var(--bad)}
.tool-pill{max-width:100%;min-width:0}
/* 📐 (المالك 23/10) التابلت / اللابتوب الصغير: البار كان أعرض من الشاشة (Search / Exit مقصوصين) ← الأيقونة فوق الكلمة والزراير بتتقسم على العرض */
/* body.tp-tight بيتحط من tpFit() لما البار ما يكفيش (حتى مع تكبير الخط — الـ zoom ما بيغيرش الـ media queries) */
body.tp-tight .tool-wrap{padding-left:8px;padding-right:8px}
body.tp-tight .tool-pill{width:100%;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);border-radius:16px;gap:0;padding:3px}
body.tp-tight .tool-pill button{flex-direction:column;gap:2px;padding:5px 2px;border-radius:12px;min-height:50px;font-size:13px;min-width:0}
body.tp-tight .tool-pill .tp-l{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.tp-tight .tool-pill .tp-i{font-size:19px}
@media(max-width:700px){.tool-pill{width:100%;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);border-radius:16px;gap:0;padding:3px}
  .tool-pill button{flex-direction:column;gap:2px;padding:5px 2px;border-radius:12px;min-height:50px;min-width:0}.tool-pill .tp-i{font-size:19px}}
@media(max-width:700px){.tool-wrap{padding:6px 6px 0}.tool-pill button{font-size:13px}}
.qa-more{margin-top:10px}.qa-more summary{cursor:pointer;font-weight:700;color:var(--muted);margin-bottom:8px}

/* 📋 تقرير اليوم */
.dr-card{margin-bottom:10px}
.dr-k{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin:10px 0 6px}
.dr-kv{background:var(--bg);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:2px}
.dr-kv b{font-size:20px;font-variant-numeric:tabular-nums}.dr-kv span{font-size:13px;color:var(--muted)}
.dr-kv.ok b{color:var(--ok)}.dr-kv.bad b{color:var(--bad)}.dr-kv.warn b{color:var(--warn)}
.dr-l{font-size:13.5px;line-height:1.9;color:var(--ink)}
/* 🔔 الجرس جنب صورتك ومش لازق في طرف الشاشة (طلب المالك 2026-10-18) */
.top #bellBtn{margin-inline-start:2px;margin-inline-end:10px;padding:6px 10px}
@media(max-width:700px){.top{padding-inline-end:14px}.top #bellBtn{margin-inline-end:6px;font-size:22px}}

/* 💬 الشات */
.ch{display:grid;grid-template-columns:300px 1fr;gap:12px;height:calc(calc(100vh * var(--zv,1)) - 150px);min-height:420px}
.ch-side{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px;overflow:auto;display:flex;flex-direction:column}
.ch-room{display:flex;align-items:center;gap:10px;padding:9px 8px;border-radius:10px;color:var(--ink);text-decoration:none}.ch-room:hover{background:var(--pri-soft)}.ch-room.on{background:var(--pri-soft)}
.ch-rt{flex:1;min-width:0;display:flex;flex-direction:column}.ch-rt small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-rm{display:flex;flex-direction:column;align-items:flex-end;gap:3px;font-size:13px;color:var(--muted)}
.ch-av{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--pri-soft);color:var(--pri);font-weight:800;flex-shrink:0;width:34px;height:34px}.ch-av.grp{font-size:18px}
.ch-main{background:var(--card);border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;min-width:0;overflow:hidden}
.ch-head{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line)}.ch-back{display:none}
.ch-msgs{flex:1;overflow:auto;padding:12px;display:flex;flex-direction:column;gap:6px;background:var(--bg)}
.ch-msg{max-width:78%;align-self:flex-end;background:var(--card);border:1px solid var(--line);border-radius:14px 14px 14px 4px;padding:7px 10px}
.ch-msg.me{align-self:flex-start;background:color-mix(in srgb,var(--pri) 11%,#fff);border-color:color-mix(in srgb,var(--pri) 21%,#fff);border-radius:14px 14px 4px 14px}
.ch-who{font-size:13px;font-weight:800;color:var(--pri);margin-bottom:2px}.ch-body{white-space:normal;word-break:break-word;line-height:1.6}
.ch-t{font-size:13px;color:var(--muted);text-align:left;margin-top:2px}.ch-del{background:none;border:0;cursor:pointer;font-size:13px;opacity:.6}
.ch-img{max-width:240px;max-height:240px;border-radius:10px;display:block}.ch-file{display:inline-block;padding:4px 0;font-weight:700}
.ch-comp{display:flex;gap:6px;align-items:flex-end;padding:8px;border-top:1px solid var(--line)}.ch-comp textarea{flex:1;resize:none;min-height:40px;max-height:140px}
.ch-att{cursor:pointer;font-size:18px}.ch-empty{margin:auto;text-align:center;color:var(--muted);padding:30px}
.ch-pp{display:flex;flex-direction:column;gap:4px;max-height:calc(55vh * var(--zv,1));overflow:auto}.ch-p{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--card);cursor:pointer;text-align:start;font:inherit}
.ch-p span{display:flex;flex-direction:column}.ch-p small{color:var(--muted)}.ch-p:hover{background:var(--pri-soft)}
@media(max-width:800px){.ch{grid-template-columns:1fr;height:calc(calc(100vh * var(--zv,1)) - 140px)}.ch.in-room .ch-side{display:none}.ch:not(.in-room) .ch-main{display:none}.ch-back{display:inline-flex}}
#chatBtn .bell-cnt{top:-6px;left:-10px}

/* 🛎 داشبورد الاستقبال */
.fd-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));gap:12px;margin-top:12px}.fd-c{margin:0}
.fd-r{display:flex;align-items:center;gap:8px;padding:7px 4px;border-bottom:1px solid var(--line)}.fd-r:last-child{border-bottom:0}
.fd-r.ok{background:#f0faf3}.fd-r.bad .fd-n small{color:var(--bad)}.fd-r.mute{opacity:.5}
.fd-time{min-width:44px;font-variant-numeric:tabular-nums;color:var(--pri)}.fd-n{flex:1 1 200px;min-width:0;display:flex;flex-direction:column;color:var(--ink);text-decoration:none}
.fd-n small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fd-sum{font-size:13px;margin-bottom:6px;color:var(--muted)}
.fd-box{border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin-bottom:8px}
.fd-k{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0}.fd-k div{background:var(--bg);border-radius:8px;padding:6px 8px;display:flex;flex-direction:column}
.fd-k b{font-size:18px}.fd-k span{font-size:13px;color:var(--muted)}.fd-k .ok b{color:var(--ok)}.fd-k .bad b{color:var(--bad)}
.fd-chips{display:flex;flex-wrap:wrap;gap:6px}.fd-chip{background:var(--pri-soft);border-radius:999px;padding:4px 10px;font-size:13px}.fd-chip.warn{background:var(--warn-soft)}
.fd-cfg{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--line)}
.fd-cfg label{flex-direction:row;align-items:center;gap:8px;color:var(--ink)}.fd-cfg small{display:block;color:var(--muted)}
.ch-p.off{opacity:.5;cursor:not-allowed}
.fd-c h3 .badge{background:var(--pri-soft);color:var(--pri)}

/* 📞 متابعة المرضى */
.cr-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:12px}
.cr-col{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px}.cr-col h3{margin:0 0 4px;font-size:15px}
.cr-i{border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin-top:8px;background:var(--card)}.cr-i.late{border-color:#f0c4be;background:var(--bad-soft)}
.cr-i.closed{opacity:.6}.cr-i .small{margin-top:3px}

/* 🛎 الاستقبال: مواعيد بلونين + العيادات */
.fd-rooms{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(170px,100%),1fr));gap:8px;margin-bottom:12px}
.fd-room{border:1px solid var(--line);border-radius:12px;padding:8px 10px;background:var(--card)}.fd-room.busy{border-color:var(--pri);background:var(--pri-soft)}
.fd-in{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-top:6px;font-size:14px}.fd-in small{color:var(--muted)}
.fd-list{padding:4px 8px}.fd-a{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:10px 6px;border-bottom:1px solid var(--line);border-radius:8px}.fd-a:last-child{border-bottom:0}
.fd-a.ok{background:#e9f7ee}.fd-a.mute{opacity:.45}.fd-a .fd-time.bad{color:var(--bad)}.fd-st{font-size:13px;white-space:nowrap}.fd-st small{color:var(--muted)}
.fd-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.fd-pick .btn{padding:14px 8px;font-size:15px}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .fd-a.ok{background:#16372a}}
:root[data-theme="dark"] .fd-a.ok{background:#16372a}
.fd-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin:12px 0}
.fd-tile{display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 6px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink);text-decoration:none}
.fd-tile .fd-ic{font-size:30px}.fd-tile b{font-size:24px}.fd-tile span:last-child{font-size:13px;color:var(--muted)}.fd-tile.on{border-color:var(--pri);background:var(--pri-soft)}

/* 💰 المرتبات بالتفصيل (قائمة الدخل) */
details.sal-g>summary,details.sal-e>summary{cursor:pointer;display:flex;align-items:center;gap:8px;padding:8px 6px;border-bottom:1px solid var(--line,#e5e7eb)}
details.sal-g>summary{font-size:1.05em}
details.sal-g>summary .sal-n,details.sal-e>summary .sal-n{margin-inline-start:auto}
details.sal-g[open]>summary{background:var(--soft,rgba(0,0,0,.03))}

/* 🔴 الأرقام بالسالب حمرا */
.neg, .neg *{color:var(--bad,#c0392b)!important}

.grp-mods{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.grp-mod{display:flex;flex-direction:row;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--line,#ddd);border-radius:10px;background:var(--card,#fff)}
.grp-mod.off{opacity:.6;background:#fef2f2}
.grp-mx tr.grp-modh td{background:var(--soft,#f1f5f9);border-top:2px solid var(--line,#ddd)}.grp-mx tr.grp-apr td{padding:4px 22px 8px}
.grp-tog{display:flex;flex-direction:row;align-items:center;gap:8px;cursor:pointer;flex-wrap:wrap}.grp-tog input{display:none}
.grp-sw{width:38px;height:22px;border-radius:999px;background:#cbd5e1;position:relative;flex:none;transition:.15s}.grp-sw::after{content:"";position:absolute;top:3px;inset-inline-start:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:.15s}
.grp-tog input:checked+.grp-sw{background:var(--pri,var(--pri))}.grp-tog input:checked+.grp-sw::after{inset-inline-start:19px}

[dir=ltr] .t th,[dir=ltr] .t td{text-align:left}[dir=ltr] .t th.num,[dir=ltr] .t td.num{text-align:right}
/* 🌐 English (LTR): القايمة على الشمال وكل حاجة متقلوبة */
[dir=ltr] .nav{right:auto;left:0;border-left:0;border-right:1px solid var(--line)}
[dir=ltr] main{margin-right:0;margin-left:210px}
[dir=ltr] .tool-wrap{margin-right:0;margin-left:210px}
[dir=ltr] body.nav-min .nav{transform:translateX(-100%)}
[dir=ltr] body.nav-min main,[dir=ltr] body.nav-min .tool-wrap{margin-left:0}
@media(max-width:900px){[dir=ltr] .nav{transform:translateX(-100%)}[dir=ltr] .nav.open{transform:none}[dir=ltr] main,[dir=ltr] .tool-wrap{margin-left:0}}
[dir=ltr] .t .sticky1{right:auto;left:0}
[dir=ltr] .bell-panel{left:auto;right:8px}
[dir=ltr] .bell-cnt{left:auto;right:-4px}[dir=ltr] #chatBtn .bell-cnt{left:auto;right:-10px}
[dir=ltr] .pg-al{border-right:0;border-left:5px solid #dc2626}
[dir=ltr] .sp-list tr.sp-row.owe td:first-child{border-right:0;border-left:4px solid #d9534f}[dir=ltr] .sp-list tr.sp-row.done td:first-child{border-right:0;border-left:4px solid #2e9d62}
[dir=ltr] .ap-b{left:auto;right:7px}
[dir=ltr] .cal td.c{border-left:0;border-right:1px solid #eef2f1}

/* شريط الأدوات بيصغر وانت نازل (أيقونات بس) ويرجع لما تطلع لفوق */
.tool-pill button,.tool-wrap{transition:min-height .15s,padding .15s}
body.tp-mini .tool-wrap{padding-top:4px}
body.tp-mini .tool-pill .tp-l{display:none}
body.tp-mini .tool-pill button{min-height:30px;padding:4px 10px}
@media(max-width:700px){body.tp-mini .tool-wrap{padding-top:3px}body.tp-mini .tool-pill button,body.tp-mini .tool-pill #logoutBtn{min-height:34px;padding:3px 2px}body.tp-mini .tool-pill .tp-i{font-size:18px}}

/* ☰ على الموبايل: زرار أكبر ومساحة لمسه جوه الهيدر بس */
@media(max-width:900px){.top #menuBtn{font-size:28px;line-height:1;min-width:46px;min-height:46px;padding:6px 10px;display:flex;align-items:center;justify-content:center}}

/* ➕ الاختصارات فوق جنب الصورة */
.top .qa-top{width:36px;height:36px;min-width:36px;border-radius:50%;background:rgba(255,255,255,.18);color:#fff;font-size:26px;font-weight:800;line-height:1;display:flex;align-items:center;justify-content:center;padding:0 0 3px;border:1px solid rgba(255,255,255,.35);margin-inline-end:4px}
.top .qa-top:hover{background:rgba(255,255,255,.3)}
.grp-mx tr.grp-it td{background:var(--soft2,rgba(15,118,110,.04));padding:3px 6px}.grp-itb{display:inline-flex;flex-direction:column;align-items:center;gap:1px;cursor:pointer;font-size:13px;white-space:nowrap}
.grp-mx [data-itx]{margin-inline-start:6px;padding:1px 8px;font-size:13px}.grp-mx [data-itx].on{background:var(--pri,var(--pri));color:#fff}

/* 🏢 مربعات الأقسام (منقولة من برنامج المستشفى 2026-10-20) — deptTiles / teamCrumb في app.js */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:8px 0 12px}
.tile{display:grid;justify-items:center;text-align:center;gap:2px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 8px;color:var(--ink);text-decoration:none;transition:border-color .15s,transform .15s}
.tile:hover{border-color:var(--pri);transform:translateY(-1px)}
.tile .tic{font-size:28px;line-height:1.2}
.tile .tnum{font-size:24px;font-weight:800;color:var(--pri);font-variant-numeric:tabular-nums}
.tile .tname{font-weight:700}
.tile .tsub{font-size:.88em;color:var(--muted)}
.tile.warn{border-color:#f0c36d;background:var(--warn-soft)} .tile.warn .tnum{color:var(--warn)}
.tile.bad{border-color:#f0a8a0;background:var(--bad-soft)} .tile.bad .tnum{color:var(--bad)}
.tile.zero{opacity:.55}
.crumbs{margin:-2px 0 10px;font-size:.92em}
.t tr.grp td{background:var(--pri-soft);font-weight:700;padding-block:8px}
.t tr.grp td a{color:var(--pri);text-decoration:none}
@media (max-width:520px){.tiles{grid-template-columns:repeat(2,1fr)}}
@media (prefers-reduced-motion:reduce){.tile{transition:none}}

.msg-grp{border:1px solid var(--line);border-radius:10px;padding:6px 10px;margin:4px 0;background:var(--card)}.msg-grp summary{cursor:pointer}
/* 🧩 الموديولز (الإعدادات + الجروبات): قفل على الكل + 🙈 إخفاء عند المالك */
.mods-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-top:8px}
.mod-tile{display:flex;flex-direction:column;gap:6px;padding:14px;border:2px solid var(--ok,#1e8e5a);border-radius:14px;background:var(--card,#fff)}
.mod-tile b{font-size:1.1rem;font-weight:900}.mod-tile .mod-st{font-weight:700;font-size:.92rem}
.mod-tile.off{border-color:#e0a800;background:#fff8e1}.mod-tile.hid{border-color:var(--bad,#c0392b);background:#fdecea}
.mod-sw{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;font-weight:700;cursor:pointer}.mod-sw input{width:20px;height:20px}
/* 👥 أعضاء الجروب: بحث بليستة أسامي + chips */
.mem-pick{position:relative;max-width:420px}.mem-pick input{width:100%}
.mem-dd{position:absolute;z-index:50;inset-inline:0;top:100%;margin-top:2px;max-height:260px;overflow:auto;background:var(--card,#fff);border:1px solid var(--line,#ddd);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.12)}
.mem-opt{padding:8px 10px;cursor:pointer;border-bottom:1px solid var(--line,#eee)}.mem-opt:hover{background:var(--pri-soft,#ecfdf5)}
.mem-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.mem-chip{display:inline-flex;align-items:center;gap:4px;background:var(--soft,#f1f5f9);border-radius:999px;padding:3px 4px 3px 10px;font-size:13px}
.mem-chip button{border:0;background:transparent;cursor:pointer;color:var(--bad,#dc2626);font-size:13px;padding:0 4px}.mem-chip.new{background:#fef9c3}.mem-chip input{width:110px;padding:2px 6px;font-size:13px}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .mod-tile.off{background:#3a3115}:root:not([data-theme="light"]) .mod-tile.hid{background:#3a1d1a}:root:not([data-theme="light"]) .mem-chip.new{background:#3a3515}}

/* 🦷 ملفات المرضى */
.pt-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:8px 4px;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}
.pt-row:last-child{border-bottom:0}.pt-row:hover{background:var(--pri-soft)}
.pt-alert{font-weight:700}
.pt-meta span+span::before{content:" · "}
.pt-tabs a{border:0;background:none;padding:8px 14px;font-weight:700;color:var(--muted);border-bottom:3px solid transparent;margin-bottom:-2px;white-space:nowrap;text-decoration:none}
.pt-tabs a.on{color:var(--pri);border-bottom-color:var(--pri)}
.pt-jaw{display:grid;grid-template-columns:repeat(16,1fr);gap:3px;direction:ltr}
.pt-t{border:1px solid var(--line);border-radius:6px;background:#fff;padding:3px 0;min-height:38px;cursor:pointer;font-size:13px;line-height:1.1}
.pt-t small{display:block;color:var(--muted);font-size:13px}.pt-t.sel{outline:2px solid var(--ink)}
.pt-crown{background:#dbe8fb!important}.pt-implant{background:#d6f1df!important}.pt-rct{background:#e9ddfb!important}.pt-veneer{background:#fdedc9!important}
.pt-filling{background:#fbe0e3!important}.pt-missing{background:var(--rest)!important;text-decoration:line-through;opacity:.75}
.pt-lg{display:flex;gap:10px;flex-wrap:wrap;font-size:13px;margin-top:8px;color:var(--muted)}
.pt-lg i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-inline-end:4px;vertical-align:middle;border:1px solid var(--line)}
.pt-hist{margin:6px 0 0;padding-inline-start:18px;color:var(--ink)}.pt-hist li{margin:3px 0}
.pt-note{border-inline-start:3px solid var(--pri-soft);padding:3px 8px;margin-top:5px;color:var(--ink);font-size:13px}
.pt-ops{margin-top:6px;display:flex;flex-wrap:wrap;gap:4px}.pt-ops .pill{color:var(--ink)}
.pt-med{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:1px dashed var(--line);font-size:13px}
.pt-med:last-child{border-bottom:0}.pt-med.bad{color:var(--bad)}
.pt-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-bottom:8px}
.pt-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px;margin-top:6px}
.pt-gal-x{display:flex;align-items:center;justify-content:center;height:100px;font-size:12px;overflow:hidden;border-radius:6px;border:1px solid var(--line);background:var(--rest);padding:4px;text-align:center}
.pt-gal img{width:100%;height:100px;object-fit:cover;border-radius:6px;border:1px solid var(--line);background:var(--rest)}
@media (max-width:700px){.pt-t{min-height:32px;font-size:12px}.pt-t small{font-size:11px}}
/* 🦷 ملف المريض بشكل Dentolize (23/10) */
.pt-bar{display:flex;gap:8px;align-items:stretch;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:6px;margin-bottom:8px;overflow:auto}
.pt-name{display:flex;flex-direction:column;justify-content:center;background:#1f3b5b;color:#fff;border-radius:8px;padding:8px 14px;text-decoration:none;min-width:190px;flex:0 0 auto}
.pt-name b{font-size:18px;line-height:1.3}.pt-name small{opacity:.85;font-size:13px;direction:ltr;text-align:start}.pt-name.on{box-shadow:0 0 0 3px #f2b84b inset}
.pt-nav{display:flex;gap:2px;flex:1;overflow:auto}
.pt-nav a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 10px;border-radius:8px;color:var(--muted);text-decoration:none;font-size:13px;font-weight:700;white-space:nowrap}
.pt-nav a span{font-size:18px;position:relative}.pt-nav a.on{background:var(--pri-soft);color:var(--pri)}.pt-nav a:hover{background:var(--rest)}
.pt-dot{position:absolute;top:-2px;inset-inline-end:-6px;width:9px;height:9px;border-radius:50%;background:var(--bad)}
.pt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 18px}.pt-grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:0 18px}
.pt-c{display:flex;gap:10px;padding:7px 2px;border-bottom:1px solid var(--line);font-size:13px;align-items:flex-start}
.pt-c>span{flex:0 0 120px;color:var(--muted);font-weight:700}.pt-c>b{flex:1;min-width:0;word-break:break-word}
.pt-kpis4{display:grid;grid-template-columns:1fr 1.6fr 1fr 1fr;gap:8px;margin-bottom:10px}
.pt-k{border-radius:10px;padding:10px 12px;border:1px solid var(--line)}.pt-k span{display:block;font-weight:700;font-size:13px;color:var(--muted)}
.pt-k b{font-size:20px;display:block;margin-top:4px}.pt-k small{color:var(--muted)}
.pt-k.k1{background:#eef7ea}.pt-k.k2{background:#fdf6e3}.pt-k.k3{background:#eef7ea}.pt-k.k4{background:#eaf1fb}
.pt-ap{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.pt-ap a{text-decoration:none}
.pt-3{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:10px}.pt-3 .card{margin:0}
.pt-mi{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:1px dashed var(--line);font-size:13px}.pt-mi.al{color:var(--bad);font-weight:800}.pt-mi.mute{opacity:.5}
.pt-mtop{display:grid;grid-template-columns:repeat(2,1fr);gap:0 18px}.pt-sgimg{max-width:180px;max-height:60px;background:#fff;border:1px solid var(--line);border-radius:6px;display:block}
.pt-mwrap{display:flex;gap:12px;align-items:flex-start}
.pt-gside{position:sticky;top:120px;flex:0 0 150px;display:flex;flex-direction:column;gap:2px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:6px}
.pt-gside a{padding:7px 10px;border-radius:7px;cursor:pointer;font-weight:700;font-size:13px}.pt-gside a:hover{background:var(--pri-soft);color:var(--pri)}
.pt-mbody{flex:1;min-width:0}.pt-mtools{gap:6px;flex-wrap:wrap;margin-bottom:8px;align-items:center}
.pt-fg{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;margin-bottom:10px;scroll-margin-top:120px}
.pt-fg h3{margin:0 0 8px;font-size:16px;background:var(--rest);padding:6px 10px;border-radius:6px}
.pt-fgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px 22px}
.pt-fq{padding:8px 0;border-bottom:1px dashed var(--line);display:flex;flex-direction:column;gap:5px}.pt-fq>b{font-size:13.5px;direction:ltr;text-align:start}
.pt-fq.al>b{color:var(--bad)}.pt-fq input,.pt-fq select,.pt-fq textarea{width:100%}
.pt-yn{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;width:max-content}
.pt-yn button{border:0;background:#fff;padding:5px 16px;font-weight:800;cursor:pointer;color:var(--muted)}
.pt-yn button.y.on{background:#1f3b5b;color:#fff}.pt-yn button.n.on{background:var(--bad);color:#fff}
.pt-chk{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:13px}.pt-chk label{flex-direction:row;gap:4px;align-items:center;color:var(--ink)}
.pt-txts{display:grid;grid-template-columns:repeat(2,1fr);gap:4px 8px}.pt-txts label{font-size:13px}
.pt-save{position:sticky;bottom:0;display:flex;gap:8px;justify-content:flex-end;background:linear-gradient(transparent,var(--bg) 30%);padding:12px 0 6px}
.pt-sig{width:100%;height:200px;border:2px dashed var(--line);border-radius:10px;background:#fff;touch-action:none;display:block}
.pt-note2{font-size:13.5px}.pt-note2 .muted{margin-bottom:4px}
tr.mute td{opacity:.5}
@media (max-width:900px){.pt-grid,.pt-grid2,.pt-mtop,.pt-fgrid,.pt-3{grid-template-columns:1fr}.pt-kpis4{grid-template-columns:1fr 1fr}.pt-gside{display:none}
  .pt-c>span{flex-basis:105px}.pt-name{min-width:150px}}
/* ✏️ أزرار الملف + التايم لاين (23/10) */
.pt-acts{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:8px}.pt-acts .pt-icons{display:flex;gap:4px;margin-inline-start:auto;flex-wrap:wrap}
.pt-chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.pt-chips button{border:1px solid var(--line);background:#fff;border-radius:18px;padding:5px 12px;font-weight:700;cursor:pointer}
.pt-chips button.on{background:var(--pri-soft);border-color:var(--pri);color:var(--pri)}
.pt-il,.pt-ilh{display:grid;grid-template-columns:2.6fr 1fr .6fr 1fr .9fr 1.3fr auto;gap:4px;margin-bottom:4px;align-items:center}
.pt-itot{margin:8px 0;font-size:14px}.pt-h4{margin:10px 0 4px;font-size:14px;color:var(--pri)}
.pt-tlf{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}.pt-tlf a{border:1px solid var(--line);background:#fff;border-radius:16px;padding:4px 10px;font-size:13px;font-weight:700;text-decoration:none;color:var(--muted)}
.pt-tlf a.on{background:var(--pri);color:#fff;border-color:var(--pri)}.pt-tlf a b{opacity:.7}
.pt-tl{border-inline-start:3px solid var(--line);padding-inline-start:12px}
.pt-tli{position:relative;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin-bottom:8px;cursor:pointer}
.pt-tli:hover{border-color:var(--pri2)}.pt-tli::before{content:"";position:absolute;inset-inline-start:-19px;top:14px;width:11px;height:11px;border-radius:50%;background:var(--pri2);border:2px solid #fff}
.pt-tli.k-note::before{background:#9a5b00}.pt-tli.k-op::before{background:#6b3fa0}.pt-tli.k-inv::before,.pt-tli.k-pay::before{background:var(--ok)}.pt-tli.k-rx::before{background:var(--bad)}.pt-tli.k-med::before,.pt-tli.k-form::before{background:#2c55a8}
.pt-tlh{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:4px}.pt-tlb{font-size:13.5px}
@media (max-width:700px){.pt-il,.pt-ilh{grid-template-columns:1fr 1fr}.pt-ilh{display:none}.pt-il .pl-p{grid-column:1/-1}}
/* 🦷 التشارت SVG (التصميم المتفق عليه) + لوحة الحالات/الموجود/الإجراءات/عروض الأسعار */
.pt-cmodes{display:flex;gap:4px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:12px;padding:4px;margin-bottom:8px;width:max-content;max-width:100%}
.pt-cmodes button{border:0;background:transparent;border-radius:9px;padding:8px 14px;font-weight:700;cursor:pointer;color:var(--muted)}.pt-cmodes button.on{background:var(--pri);color:#fff}
.pt-chartc{padding:10px}.pt-lgd{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}.pt-lgd span{color:#fff;border-radius:12px;padding:2px 9px;font-size:13px;font-weight:700}
.pt-arch{user-select:none;-webkit-user-select:none;background:#FBF6F4;border:1px solid var(--line);border-radius:12px;padding:10px 8px;overflow-x:auto;display:flex;flex-direction:column;align-items:center;flex:1;min-width:0}
.pt-arch>.pt-trow{width:max-content;margin-inline:auto;flex:none}.pt-arch{align-items:stretch}.pt-arch>.pt-mid{align-self:stretch}
.pt-tooth{display:flex;flex-direction:column;align-items:center;gap:2px;padding:2px 0;border-radius:10px;background:transparent;border:2px solid transparent;cursor:pointer;font:inherit}
.pt-tooth.u{justify-content:flex-end}.pt-tooth.l{justify-content:flex-start}.pt-tooth.on{border-color:#fff;background:rgba(255,255,255,.22)}
.pt-ctabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:8px}.pt-ctabs button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 10px;font-weight:700;cursor:pointer;color:var(--muted)}
.pt-ctabs button.on{background:var(--pri-soft);border-color:var(--pri);color:var(--pri)}.pt-ctabs b{opacity:.7}
.pt-cadd{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:8px}.pt-cadd #ptCI{flex:1;min-width:220px}
.pt-surfs{display:inline-flex;gap:2px}.pt-surfs button{border:1px solid var(--line);background:#fff;border-radius:6px;width:30px;height:32px;font-weight:800;cursor:pointer}.pt-surfs button.on{background:var(--pri);color:#fff;border-color:var(--pri)}
.pt-q{margin-bottom:8px}.pt-clk{cursor:pointer}.pt-clk:hover td{background:var(--pri-soft)}
.pt-rxl{display:grid;grid-template-columns:2.2fr 1fr .7fr .9fr .8fr .6fr 1fr 1.4fr auto;gap:4px;margin-bottom:2px}
.pt-rxb{margin-bottom:6px}.rx-w{font-size:13px;line-height:1.5}.rx-w:empty{display:none}.rx-red{color:#b42318;font-weight:600}.rx-orange{color:#b54708}.rx-info{color:var(--muted)}
.md-tb td,.md-tb th{white-space:nowrap}.md-r{display:inline-block;font-size:13px;border-radius:6px;padding:0 5px;margin:1px;background:#fef3f2;color:#b42318}.md-r.o{background:#fffaeb;color:#b54708}
@media (max-width:900px){.pt-rxl{grid-template-columns:1fr 1fr 1fr}.pt-rxl .rx-n,.pt-rxl .rx-e{grid-column:1/-1}}

/* 🦷 التشارت زي Dentolize (23/10) */
.pt-trow{display:flex;gap:1px}.pt-trow.u{align-items:flex-end}.pt-trow.l{align-items:flex-start}.pt-mid{width:100%;height:2px;background:#C9C3D6;margin:4px 0}
.pt-tooth{position:relative}.pt-tooth:hover{background:rgba(91,123,240,.08)}.pt-tooth.fx{border-color:var(--pri)}
.pt-tn{font-size:13px;font-weight:700;color:#4B5563;padding:3px 4px;border-radius:5px;min-width:34px;text-align:center}.pt-tn.has{background:#EDE7F6;color:#3B2A6B}
.pt-tooth:hover .pt-tn,.pt-tooth.on .pt-tn{background:#7DA2E8;color:#fff}
.pt-tic{display:flex;gap:3px;visibility:hidden;font-size:13px;min-height:18px}.pt-tic span{cursor:pointer;background:#fff;border:1px solid var(--line);border-radius:5px;padding:0 2px}
.pt-tooth:hover .pt-tic,.pt-tooth.on .pt-tic{visibility:visible}.pt-tic.has{visibility:visible}.pt-tic.has span[data-tmeas]{visibility:hidden}.pt-tooth:hover .pt-tic.has span[data-tmeas]{visibility:visible}
.pt-cwrap{display:flex;gap:6px;align-items:stretch}.pt-side{display:flex;flex-direction:column;gap:4px}.pt-side button{border:1px solid var(--line);background:#fff;border-radius:8px;width:44px;height:38px;cursor:pointer;font-size:14px;position:relative}
.pt-side button.on{background:var(--pri);color:#fff}.pt-side sup{position:absolute;top:-6px;right:-6px;background:#00406E;color:#fff;border-radius:9px;font-size:12px;padding:0 5px}
.pt-chartc{position:relative}.pt-hov{position:absolute;z-index:20;width:260px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.14);padding:8px;font-size:13px;pointer-events:none}
.pt-sk{display:inline-block;min-width:20px;text-align:center;color:#fff;border-radius:5px;font-size:13px;font-weight:800;padding:0 3px}
.pt-ctool{padding:10px}.pt-ctl1{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:8px}.pt-ctl1 select{max-width:230px}
.pt-seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.pt-seg button{border:0;border-inline-end:1px solid var(--line);background:#fff;padding:7px 12px;font-weight:700;cursor:pointer;color:var(--muted)}
.pt-seg button:last-child{border-inline-end:0}.pt-seg button.on{background:var(--pri);color:#fff}.pt-stseg button.on{background:var(--c);color:#fff}.pt-seg.sm button{padding:3px 7px;font-size:13px}
.pt-cgrid{display:flex;flex-wrap:wrap;gap:6px}.pt-cgrid button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:7px 11px;font-weight:600;cursor:pointer;border-bottom:3px solid #C9D7F5}.pt-cgrid button.on{background:var(--pri-soft);border-color:var(--pri)}
.pt-clist{margin-top:8px;border:1px solid var(--line);border-radius:10px;padding:6px;max-height:280px;overflow:auto;background:#fff}.pt-clist input{width:100%;margin-bottom:6px}
.pt-clist button{display:flex;justify-content:space-between;gap:8px;width:100%;border:0;background:transparent;padding:7px 8px;border-radius:7px;cursor:pointer;text-align:start;font:inherit}.pt-clist button:hover{background:var(--pri-soft)}
.pt-cchip{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:8px}.pt-chip-on{background:#E8553E;color:#fff;border-radius:7px;padding:4px 10px;font-weight:700;display:inline-flex;gap:8px;align-items:center}
.pt-chip-on button{background:rgba(255,255,255,.25);border:0;color:#fff;border-radius:5px;cursor:pointer}
.pt-selbar{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:8px}
.pt-tpanel{margin-top:8px;border:1px solid var(--line);border-radius:10px;padding:8px;background:#FFFDF5}.pt-tcols{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}@media(max-width:720px){.pt-tcols{grid-template-columns:1fr}}
.pt-h5{font-weight:700;margin-bottom:4px}.pt-note{background:#FFFBEA;border:1px solid #F2E6B8;border-radius:8px;padding:6px 8px;margin-bottom:6px}
.pt-ttag{display:inline-block;border:1.5px solid #F0B04D;border-radius:6px;padding:0 6px;font-weight:700;font-size:13px;background:#fff}
.pt-grp{margin-bottom:10px}.pt-ghead{display:flex;gap:8px;align-items:center;margin:6px 0}.pt-gdate{background:#2E6B3A;color:#fff;border-radius:6px;padding:3px 10px;font-weight:700;font-size:13px}
.pt-optbl td.pt-ck{width:26px}.pt-optbl td.pt-ic{white-space:nowrap}.pt-optbl tr.mute{opacity:.6}
.pt-ring{width:30px;height:30px;border-radius:50%;border:0;cursor:pointer;font-size:12px;font-weight:800;color:#2E7D32;background:radial-gradient(closest-side,#fff 76%,transparent 78%),conic-gradient(#4FA35F calc(var(--p)*1%),#E5E7EB 0);vertical-align:middle}
.pt-ring0{display:inline-block;width:30px;height:30px;border-radius:50%;border:2px dashed #E5E7EB;vertical-align:middle;background:none;cursor:pointer;padding:0}.pt-ring0:hover{border-color:var(--brand,var(--pri))}
.pt-foot{position:sticky;bottom:0;z-index:15;display:flex;gap:6px;flex-wrap:wrap;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px;box-shadow:0 -6px 18px rgba(0,0,0,.08)}
.pt-tgrid{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;margin-top:6px}.pt-tgrid>div{display:flex;flex-wrap:wrap;gap:3px}.pt-tgrid button{border:1px solid #F3D9A8;background:#fff;border-radius:6px;padding:4px 5px;font-size:13px;font-weight:700;cursor:pointer;color:#9AA3AE;min-width:44px}
.pt-tgrid button.on{color:#1F2A28;border-color:#F0B04D;box-shadow:0 0 0 1px #F0B04D}
.pt-mline{display:flex;gap:6px;align-items:center;margin-bottom:6px}.pt-mline .m-n{width:80px}.pt-mline .m-v{width:90px}.pt-mline .m-r{flex:1}
#nMic.on{background:#E8553E;color:#fff}
.pt-side{flex:0 0 46px;width:46px;align-self:flex-start}.pt-seg{direction:ltr}#mL,.pt-ctl1 .pt-seg{direction:ltr}
.pt-qchart{zoom:.62;pointer-events:none;margin:6px 0;overflow-x:auto}.pt-qchart .pt-tic{display:none}.pt-qchart .pt-arch{flex:none}
.pt-qkpi{display:flex;gap:16px;margin-bottom:8px;font-size:14px}.pt-qkpi b{font-size:18px;color:var(--pri)}
.pt-qbtns{gap:4px;flex-wrap:wrap;margin:6px 0}.pt-qplan{border:1px solid var(--line);border-radius:10px;padding:6px 8px;margin:6px 0}.pt-qtot{max-width:360px;margin-inline-start:auto}
.pt-qim{position:relative;display:inline-block}.pt-qim button{position:absolute;top:2px;inset-inline-end:2px}
/* 📏 البيريو */
.pp-wrap{overflow-x:auto;padding:8px}.pp-grid{display:grid;grid-template-columns:118px repeat(16,64px);align-items:center;row-gap:2px;width:max-content}
.pp-l{font-size:13px;color:#6B7280;text-align:end;padding-inline-end:8px;white-space:nowrap}.pp-side{font-weight:800;font-size:15px;color:#1F2A28}
.pp-c{display:flex;gap:1px;justify-content:center;min-height:22px}.pp-c.miss{opacity:.25;pointer-events:none}
.pp-in{width:20px;height:22px;padding:0;text-align:center;font-size:13px;border:1px solid #D7DCE2;border-radius:4px;background:#F7F8FA}.pp-in.pd{background:#EEF4FF}.pp-in:focus{outline:2px solid var(--pri);background:#fff}
.pp-b{width:19px;height:15px;border:1px solid #D7DCE2;border-radius:3px;background:#F3F4F6;cursor:pointer;padding:0}.pp-b.bl.on{background:#DC2626;border-color:#DC2626}.pp-b.pl.on{background:#2563EB;border-color:#2563EB}
.pp-s{width:56px;height:24px;padding:0 2px;font-size:13px}
.pp-v{display:flex;justify-content:center;align-items:center;overflow:hidden;background:repeating-linear-gradient(#fff 0 4px,#F1F2F5 4px 5px)}.pp-v svg{max-width:62px;height:auto}
.pt-pvt.miss{opacity:.15}
.pp-tl{border:0;background:#EEF0F4;border-radius:4px;font-size:13px;font-weight:700;padding:3px 0;cursor:pointer;margin:0 2px}.pp-tl.miss{background:#FDE2E2;color:#B91C1C;text-decoration:line-through}
.pp-sep{grid-column:1/-1;height:3px;background:#C9C3D6;margin:10px 0;border-radius:2px}
.pp-sum{display:flex;gap:18px;flex-wrap:wrap;font-size:14px}.pp-sum .bad b{color:#B91C1C}
.pp-wrap{contain:inline-size;max-width:100%}
.dc-bar{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap}.dc-host{background:#EEF1F4;border-radius:12px;overflow-x:clip;max-width:100%;margin-bottom:12px}
/* 📌 (المالك 24/10) التشارت في التقويم والإمبلانت ثابت فوق وانت نازل في الخطوات — والجنب (السنة / الزرعة المختارة) جنبه على الكمبيوتر */
.dcl-root [data-stage][data-pinned="1"]{position:sticky;top:100px;z-index:25;background:#EEF1F4;padding:4px 0 6px;box-shadow:0 10px 14px -12px rgba(0,0,0,.35)}
.dcl-root [data-stage][data-pinned="1"] [data-stage-tools]{flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:thin;padding-top:3px!important;padding-bottom:3px!important}
.dcl-root [data-stage][data-pinned="1"] [data-stage-tools]>*{flex:none}
.dcl-root [data-stage][data-pinned="1"] [data-stage-tools]>span{display:none}
.dcl-root [data-stage][data-pinned="1"] [data-stage-chart]{max-width:max(340px,calc((calc(50vh * var(--zv,1)) - 130px) * 1.85))}
.dcl-root [data-stage][data-pinned="1"] [data-stage-side]{max-height:calc(50vh * var(--zv,1));overflow:auto}
.dcl-root [data-mob-only]{display:none!important}
@media (min-width:821px){.dcl-root [data-stage] [data-stage-side]{max-height:calc(72vh * var(--zv,1));overflow:auto;scrollbar-width:thin}}   /* البار اليمين ما يطوّلش الصفحة — التابات تحت التشارت على طول */
@media (max-width:820px){
  .dcl-root [data-stage] [data-stage-side]{flex:1 1 100%!important}
  .dcl-root [data-mob-only]{display:flex!important}
  .dcl-root [data-stage][data-pinned="1"] [data-stage-chart]{max-width:none}
}
.dcl-root{direction:ltr;text-align:left;font-family:'IBM Plex Sans',system-ui,sans-serif}
.pt-optbl tr.pt-step td{background:#FAFBFF}.pt-optbl tr.pt-step td[data-l="الإجراء"]{padding-inline-start:28px;font-size:13px}.pt-optbl tr.pt-step td[data-l="الإجراء"]::before{content:"↳ ";color:#9AA3AE}
.pt-optbl tr.pt-par td{font-weight:600}
.aud{padding:8px 10px;margin-bottom:6px}.aud.del{border-color:#F3C2C2;background:#FFF8F8}.aud details{margin-top:4px}.aud-kv{font-size:13px;padding-inline-start:10px;border-inline-start:2px solid var(--line);margin:3px 0}
.pt-gimg{width:20px;height:20px;object-fit:contain;vertical-align:middle;margin-inline-end:5px;border-radius:4px}.pt-cgrid .pt-cadd{border-style:dashed;color:var(--pri);background:var(--pri-soft)}
.pt-gcard{display:flex;align-items:center;gap:10px}.pt-gcard .pt-gph{width:46px;height:46px;border-radius:10px;border:1px dashed var(--line);display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff;flex:none}.pt-gcard .pt-gph img{width:100%;height:100%;object-fit:contain}
.pt-doc{white-space:pre-wrap;line-height:1.9;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px;max-height:calc(50vh * var(--zv,1));overflow:auto}
/* 🔐 الجروب: الموديولز على الشمال والتفاصيل على اليمين (المالك 23/10) */
.grp-split{display:grid;grid-template-columns:230px 1fr;gap:12px;align-items:start;margin-top:8px}
.grp-nav{display:flex;flex-direction:column;gap:4px;position:sticky;top:0;max-height:calc(62vh * var(--zv,1));overflow:auto;padding:4px;border:1px solid var(--line);border-radius:12px;background:var(--soft,#f8fafc)}
.grp-nav button{display:flex;justify-content:space-between;align-items:center;gap:6px;text-align:start;border:1px solid transparent;background:none;border-radius:9px;padding:9px 10px;font-weight:700;cursor:pointer;color:inherit}
.grp-nav button:hover{background:#fff}.grp-nav button.on{background:#fff;border-color:var(--pri);color:var(--pri);box-shadow:0 1px 3px rgba(0,0,0,.06)}
.grp-nav button.off span{opacity:.6}.grp-nav small{font-weight:600;white-space:nowrap}
.grp-pane{min-width:0;max-height:calc(62vh * var(--zv,1));overflow:auto}.grp-split [data-itx],.grp-split [data-itc]{display:none}
@media (max-width:760px){.grp-split{grid-template-columns:1fr}.grp-nav{flex-direction:row;overflow-x:auto;max-height:none;position:static}.grp-nav button{flex:none}.grp-pane{max-height:none}}
.pt-fq .pt-ar{display:block;font-weight:500;font-size:13px;color:var(--muted)}.pt-fg.sub h3{font-size:14px;opacity:.85}
/* 🗂 ملفات المرضى المفتوحة + 📌 العمود الجانبي (المرحلة 4) */
.pt-open{display:flex;gap:4px;overflow-x:auto;margin-bottom:8px;padding-bottom:2px;border-bottom:2px solid var(--line)}
.pt-ot{display:inline-flex;align-items:center;gap:4px;background:var(--soft,#f1f5f9);border:1px solid var(--line);border-bottom:none;border-radius:10px 10px 0 0;padding:5px 8px;white-space:nowrap;font-weight:700;font-size:13px;color:inherit;text-decoration:none;cursor:pointer}
.pt-ot a{color:inherit;text-decoration:none}.pt-ot small{color:var(--muted);font-weight:600}.pt-ot button{border:0;background:none;cursor:pointer;color:var(--muted);padding:0 2px;font-size:13px}
.pt-ot.on{background:#fff;border-color:var(--pri);box-shadow:0 -2px 0 var(--pri) inset;color:var(--pri)}.pt-ot.home{padding:5px 10px}
.pt-layout.with-side{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:12px;align-items:start}.pt-main{min-width:0}
.pt-aside{position:sticky;top:70px;display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:10px;max-height:calc(calc(100vh * var(--zv,1)) - 90px);overflow:auto}
.pt-as{display:flex;flex-direction:column;gap:3px;border-top:1px dashed var(--line);padding-top:7px}.pt-as>span,.pt-as .row>span{font-weight:800;font-size:13px}.pt-as small{font-size:13px;line-height:1.5}
.pt-as.al{background:#FFF1F1;border:1px solid #F3C2C2;border-radius:8px;padding:6px;color:#9B1C1C;font-weight:700;font-size:13px}.pt-as.bad b{color:#B42318}
@media (max-width:1100px){.pt-layout.with-side{grid-template-columns:1fr}.pt-aside{position:static;max-height:none}}
.with-side .pt-nav{flex-wrap:wrap}
/* 🎨 رأس ملف المريض بشكلنا (المرحلة 4) */
.pt-hero{display:flex;gap:14px;align-items:center;background:linear-gradient(135deg,var(--pri),var(--pri2));color:#fff;border-radius:16px;padding:14px 16px;margin-bottom:8px;flex-wrap:wrap}
.pt-av{width:58px;height:58px;border-radius:50%;background:#ffffff26;border:2px solid #ffffff66;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:22px;color:#fff;text-decoration:none;flex:none}
.pt-av.f{background:#f472b633}.pt-av.m{background:#60a5fa33}
.pt-hi{flex:1;min-width:200px}.pt-hn{color:#fff;font-size:21px;font-weight:900;text-decoration:none}
.pt-chips2{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.pt-chips2 span,.pt-chips2 a{color:inherit;text-decoration:none;background:#ffffff1f;border-radius:999px;padding:2px 9px;font-size:13px;font-weight:700}
.pt-chips2 .tg{background:#fbbf2433}.pt-chips2 .pd{background:#f59e0b;color:#3b2500}
.pt-hs{display:flex;gap:6px;flex-wrap:wrap}.pt-hs>a{color:inherit;text-decoration:none}.pt-hs>div,.pt-hs>a{background:#ffffff1a;border-radius:12px;padding:6px 12px;min-width:92px}.pt-hs small{display:block;opacity:.8;font-size:13px}.pt-hs b{font-size:15px}.pt-hs b.bad{color:#fecaca}
.pt-tabs2{display:flex;gap:2px;overflow-x:auto;border-bottom:2px solid var(--line);margin-bottom:10px}
.pt-tabs2 a{padding:8px 11px;white-space:nowrap;font-weight:700;font-size:13px;color:var(--muted);text-decoration:none;border-bottom:3px solid transparent;margin-bottom:-2px;position:relative}
.pt-tabs2 a.on{color:var(--pri);border-bottom-color:var(--pri)}.pt-tabs2 a:hover{color:var(--pri)}.pt-tabs2 .pt-dot{top:4px;inset-inline-end:2px}
.pt-tabs2{flex-wrap:wrap}
/* 📅 تقويم العيادة (المرحلة 5) */
.pc-bar{flex-wrap:wrap;align-items:center}.pc-lg{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.pc-lg span[style]{border-inline-start:4px solid var(--c);padding:1px 7px;background:#fff;border-radius:6px;font-size:13px;font-weight:700}
.pc-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff;max-height:calc(calc(100vh * var(--zv,1)) - 230px)}
.pc-grid{display:grid;position:relative;min-width:max-content}.pc-h{position:sticky;top:0;z-index:3;background:var(--soft,#f8fafc);border-bottom:1px solid var(--line);padding:7px;font-weight:800;text-align:center}
.pc-times,.pc-col{position:relative;border-inline-start:1px solid var(--line)}.pc-times .pc-ln span{position:absolute;top:2px;inset-inline-start:6px;font-weight:700;font-size:13px;color:var(--muted);background:#fff;padding:0 2px}
.pc-ln{position:absolute;left:0;right:0;border-top:1px dashed #eef2f7}.pc-ln.h{border-top:1px solid #e2e8f0}.pc-col{cursor:copy}.pc-col.over{background:#ecfdf5}
.pc-off{position:absolute;left:0;right:0;background:repeating-linear-gradient(45deg,#f1f5f9,#f1f5f9 6px,#e2e8f0 6px,#e2e8f0 12px);opacity:.7;pointer-events:none}
.pc-a{position:absolute;left:3px;right:3px;z-index:2;background:#fff;border:1px solid var(--line);border-inline-start:5px solid var(--c);border-radius:8px;padding:3px 6px;overflow:hidden;cursor:grab;box-shadow:0 1px 3px rgba(0,0,0,.08);font-size:13px}
.pc-a:hover{z-index:4;box-shadow:0 4px 12px rgba(0,0,0,.15)}.pc-a.drag{opacity:.4}.pc-a.st-CANCELED,.pc-a.st-NO_SHOW{opacity:.55;text-decoration:line-through}
.pc-at{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pc-at small{color:var(--muted)}.pc-ab{display:flex;flex-wrap:wrap;gap:3px;align-items:center;margin-top:2px}.pc-ab i{font-style:normal}
.pc-ab span{background:#fef3c7;border-radius:6px;padding:0 5px;font-size:13px}.pc-ab small{color:var(--muted);font-size:13px}
/* 🧪 المعامل (المرحلة 6) */
.pl-card{padding:9px 11px;margin-bottom:8px;border-inline-start:4px solid #2563eb}.pl-card.delivered{border-inline-start-color:#16a34a}.pl-card.back{border-inline-start-color:#dc2626}.pl-card.cancelled{opacity:.6;border-inline-start-color:#94a3b8}
.pl-steps{display:flex;gap:3px;margin:6px 0;flex-wrap:wrap}.pl-steps i{font-style:normal;font-size:13px;padding:2px 7px;border-radius:999px;background:#f1f5f9;color:var(--muted)}.pl-steps i.on{background:#dcfce7;color:#166534;font-weight:700}
/* ⚙️ إعدادات المرضى: مجموعات على الجنب بدل صف التابات */
.ps-split{display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px;align-items:start}
.ps-nav{position:sticky;top:70px;display:flex;flex-direction:column;gap:2px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:8px}
.ps-nav .ps-h{font-weight:900;font-size:13px;color:var(--muted);margin:8px 6px 2px}.ps-nav .ps-h:first-child{margin-top:0}
.ps-nav a{padding:7px 10px;border-radius:8px;text-decoration:none;color:inherit;font-weight:700;font-size:13.5px}.ps-nav a:hover{background:var(--rest)}.ps-nav a.on{background:var(--pri-soft);color:var(--pri)}
.ps-body{min-width:0}
@media (max-width:820px){.ps-split{grid-template-columns:1fr}.ps-nav{position:static}.ps-nav a{padding:11px 12px;font-size:15px;border-bottom:1px solid var(--line);border-radius:0}.ps-nav a::after{content:"›";float:inline-end;color:var(--muted)}
  .ps-split.has-t .ps-nav{display:none}.ps-split.no-t .ps-body{display:none}}
.ps-back{display:none;align-items:center;gap:8px;margin-bottom:8px}@media (max-width:820px){.ps-back{display:flex}}
.mc-only{display:none}
@media(max-width:700px){.dc-tb td.mc-head{display:flex;justify-content:space-between;align-items:center}.dc-tb td:last-child{justify-content:flex-end}}

@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .rx-red{color:#f97066}:root:not([data-theme="light"]) .rx-orange{color:#fdb022}:root:not([data-theme="light"]) .md-r{background:#3b1513;color:#f97066}:root:not([data-theme="light"]) .md-r.o{background:#3a2a0c;color:#fdb022}}
:root[data-theme="dark"] .rx-red{color:#f97066}:root[data-theme="dark"] .rx-orange{color:#fdb022}:root[data-theme="dark"] .md-r{background:#3b1513;color:#f97066}:root[data-theme="dark"] .md-r.o{background:#3a2a0c;color:#fdb022}

/* 🖱 (المالك 23/10) مفيش أيقونة في ملف المريض مش بتتداس */
a.pt-k,a.pt-mi,a.pt-as,.pt-as a,a.pt-alert{color:inherit;text-decoration:none;display:block}a.pt-mi{display:flex}a.pt-as{display:flex}
a.pt-k:hover,a.pt-mi:hover,a.pt-as:hover,.pt-as a:hover,.pt-chips2 a:hover,.pt-hs>a:hover,.pt-lnk:hover{filter:brightness(.97);outline:1px solid var(--line);cursor:pointer}
.pt-lnk{cursor:pointer}.pt-as a>span,.pt-as .row>a{font-weight:800;font-size:13px}

/* 🛠 تحليل الإجراءات */
.po-st{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:10px 0 4px}
.po-c{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:start;border:1px solid var(--line);border-radius:12px;padding:8px 10px;background:var(--card,#fff);color:inherit;cursor:pointer;font:inherit}
.po-c small{font-size:13px;font-weight:700;color:var(--muted)}.po-c b{font-size:22px}.po-c span{font-size:13px;color:var(--muted)}.po-c.on{outline:2px solid var(--brand,var(--pri))}
.po-c.po-done_paid{border-inline-start:4px solid #16a34a}.po-c.po-done_part{border-inline-start:4px solid #eab308}.po-c.po-done_unpaid{border-inline-start:4px solid #dc2626}
.po-c.po-in_progress{border-inline-start:4px solid #2563eb}.po-c.po-accepted_paid{border-inline-start:4px solid var(--pri2)}.po-c.po-accepted{border-inline-start:4px solid #65a30d}
.po-c.po-suggested{border-inline-start:4px solid #9ca3af}.po-c.po-rejected{border-inline-start:4px solid #6b7280;opacity:.85}
a.po-p{text-decoration:none;font-size:13px}

/* 🗺 خريطة المرضى */
.pt-mapov{position:fixed;inset:0;background:#0008;z-index:3000;display:flex;align-items:center;justify-content:center;padding:16px}
.pt-mapbox{background:var(--card,#fff);border-radius:14px;width:min(900px,100%);height:min(640px,calc(90vh * var(--zv,1)));display:flex;flex-direction:column;overflow:hidden}
.pm-bar{height:8px;border-radius:4px;background:var(--pri2)}

/* 🧊 التشارت 3D */
.c3-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.c3-num{flex-direction:row;gap:4px;align-items:center;display:flex}
.c3-grid{display:grid;grid-template-columns:190px minmax(0,1fr) 230px;gap:10px;margin-bottom:10px}
.c3-tools,.c3-insp{display:flex;flex-direction:column;gap:6px;font-size:13px}.c3-h{font-weight:800}.c3-btns{display:flex;flex-wrap:wrap;gap:4px}
.c3-rng{display:flex;flex-direction:column;gap:2px}.c3-rng input{width:100%}.c3-note{line-height:1.6}
.c3-stage{position:relative;min-height:420px;border-radius:12px;background:radial-gradient(circle at 50% 40%,#ffffff,#e9eef0);border:1px solid var(--line);overflow:hidden}
.c3-slot,.c3-host{position:absolute;inset:0}.c3-canvas{display:block;width:100%;height:100%;touch-action:none}
.c3-msg{position:absolute;inset:auto 0 0 0;padding:10px;text-align:center;font-size:13px;color:var(--muted)}.c3-msg:empty{display:none}
.c3-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.c3-lb{position:absolute;left:0;top:0;pointer-events:auto;font:700 11px/1 system-ui,sans-serif;background:#ffffffd9;border:1px solid #cfd8dc;border-radius:6px;padding:2px 4px;color:#37474f;cursor:pointer;white-space:nowrap}
.c3-lb.on{background:#2F80ED;color:#fff;border-color:#2F80ED}
.c3-ids{font-size:13px;border-collapse:collapse}.c3-ids td{padding:1px 6px;border-bottom:1px dashed var(--line)}.c3-ids td:first-child{color:var(--muted)}
.c3-five{width:130px;height:130px;align-self:center}.c3-five polygon{fill:#f3efe6;stroke:#9aa5ab;stroke-width:1.5;cursor:pointer}.c3-five polygon:hover,.c3-five polygon:focus{fill:#dbe9ff;outline:none}
.c3-five polygon.on{fill:#2F80ED}.c3-five text{font:700 14px system-ui,sans-serif;fill:#37474f}
@media (max-width:1000px){.c3-grid{grid-template-columns:1fr}.c3-stage{order:-1;min-height:360px}.c3-tools .c3-btns .btn{min-height:38px;min-width:44px}}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .c3-stage{background:radial-gradient(circle at 50% 40%,#2b3437,#1b2224)}:root:not([data-theme="light"]) .c3-five polygon{fill:#2b3437}:root:not([data-theme="light"]) .c3-five text{fill:#e0e6e8}}
:root[data-theme="dark"] .c3-stage{background:radial-gradient(circle at 50% 40%,#2b3437,#1b2224)}

/* 🔤 (المالك 23/10) الخط رفيع ومش مريح للعين على الكمبيوتر والموبايل ← Cairo أتقل شوية وأكبر — هو الأساس في كل حتة (العربي والإنجليزي) */
html,body{font-family:Cairo,Tahoma,sans-serif;font-weight:700}
b,strong,th{font-weight:800}h1,h2,h3,h4,.page{font-weight:900}
button,input,select,textarea{font-family:inherit;font-weight:700}
table.t{font-size:14px}.t td{font-weight:700}
.muted,.small,small{font-weight:600}
@media (max-width:760px){
  html,body{font-size:16px}
  table.t{font-size:15px}
  .mcards td{font-size:15px;font-weight:700}
  .mcards td[data-l]::before{font-size:13.5px;font-weight:700}
}

/* 🦷 التشارت المفرود برسمة 3D */
.pt-tooth.sp{gap:0}.pt-tooth.sp svg image{image-rendering:auto}
.sp-root{fill:transparent;stroke:transparent;stroke-width:2;cursor:pointer}.sp-root:hover{stroke:#5B7BF0;stroke-dasharray:4 3}.sp-root.on{stroke:#2F80ED;stroke-width:3;fill:#2F80ED;fill-opacity:.18}
.sp-can{fill:none;stroke:#C98B7A;stroke-width:2.2;stroke-linecap:round;opacity:.85;pointer-events:none}.sp-can.rct{stroke-width:4;opacity:1}
.sp-can.gp{stroke-width:4.6;filter:drop-shadow(0 0 1px rgba(120,40,10,.6))}.sp-can.pl{stroke-dasharray:6 4;stroke-width:3.4}.sp-can.ip{stroke-dasharray:14 4}.sp-can.on{stroke:#2F80ED;stroke-width:4.5;opacity:1}
.sp-hit{fill:none;stroke:transparent;stroke-width:12;cursor:pointer}.sp-hit:hover{stroke:rgba(47,128,237,.18)}
.sp-sf{fill:transparent;cursor:pointer}.sp-sf:hover{fill:#9EC5FF;fill-opacity:.45}.sp-sf.on{fill:#2F80ED;fill-opacity:.75}
.sp-insp{margin:0 0 10px}.sp-ih{display:flex;gap:10px;flex-wrap:wrap;align-items:baseline;margin-bottom:6px}.sp-ig{display:flex;gap:18px;flex-wrap:wrap;align-items:flex-start}
.sp-chips{display:flex;gap:6px;flex-wrap:wrap}.sp-chip{border:2px solid var(--line);background:var(--card,#fff);border-radius:999px;padding:4px 12px;font:inherit;font-weight:800;cursor:pointer;min-height:34px}
.sp-chip.on{background:#2F80ED;color:#fff;border-color:#2F80ED}.sp-chip i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-inline-start:4px}

/* 🎨 دليل ألوان التشارت (نوع الشغل + الحالة) — المالك 24/10 */
.pt-lgd2{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;margin:6px 0 8px;font-size:13px;font-weight:700}
.pt-lgd2 .lg-k,.pt-lgd2 .lg-s{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center}.pt-lgd2 .lg-s{color:var(--muted)}
.pt-lgd2 span>span{display:inline-flex;align-items:center;gap:5px}.pt-lgd2 i{width:12px;height:12px;border-radius:3px;display:inline-block}
.pt-sprwait{padding:60px 10px;text-align:center;color:var(--muted);font-weight:700}
.pt-gico{display:inline-flex;align-items:center;justify-content:center;font-size:18px;background:none!important;object-fit:initial}
/* 🩻 الأشعة */
.xr-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.xr-c{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.xr-c img{width:100%;height:170px;object-fit:contain;background:#111;display:block}.xr-m{padding:8px 10px}
.pt-txr{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.pt-txr img{height:64px;border-radius:6px;background:#111}
.pp-box summary{cursor:pointer}.pp-l{max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:6px}.pp-g{margin-bottom:6px}.pp-i{display:flex!important;flex-direction:row!important;gap:6px;align-items:center;font-weight:600;padding:2px 0}
.pt-kpis4.nomoney .k1,.pt-kpis4.nomoney .k3,.pt-kpis4.nomoney .k4{display:none}
.pt-cnl{text-decoration:line-through;opacity:.6}
.pt-nomoney .pt-optbl .num,.pt-nomoney .pt-ring,.pt-nomoney .pt-ring0,.pt-nomoney #ptBQ,.pt-nomoney #ptBI,.pt-nomoney [data-ctab=quote],.pt-nomoney .pt-qkpi{display:none!important}

/* 🎨 اختيار لون البرنامج */
.th-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}
.th-b{display:flex;align-items:center;gap:8px;border:2px solid var(--line);background:#fff;border-radius:10px;padding:8px;cursor:pointer;font-weight:600}
.th-b span{width:26px;height:26px;border-radius:50%;flex:none}.th-b.on{border-color:var(--pri);box-shadow:0 0 0 2px var(--pri-soft)}

/* 🛎 الاستقبال من التقويم */
.fd-a .fd-n a{color:inherit;text-decoration:none}.fd-fl{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}.fd-fl .pill{font-size:13px}
.fd-a .fd-st{border:1px solid;border-radius:12px;padding:1px 8px;font-size:13px;white-space:nowrap;background:#fff}
.fd-acts{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}
@media (max-width:600px){.fd-tiles{grid-template-columns:repeat(3,1fr);gap:6px}.fd-tile{padding:6px 4px!important}.fd-tile .fd-ic{font-size:18px}.fd-tile b{font-size:18px}.fd-tile span:last-child{font-size:13px}}

/* 🎨 ألوان هادية (المالك 24/10): كل حاجة درجات من لون البرنامج — التنبيه بس اللي يبان: غامق والكلام أبيض، والحساسية خط أحمر رفيع على جنب.
   ⚠️ ألوان الحالة (أخضر مدفوع/خلص • أصفر مستني/جزئي • أحمر متأخر/عليه/ما اتسلمش) ما تتشالش — المالك 24/10: «لازم تبقى ظاهرة علشان المتابعة».
   (ألوان الداتا زي حالات المواعيد في التقويم والتشارت والرسوم البيانية زي ما هي) */
.alert.bad{background:var(--pri);border-color:var(--pri);color:#fff}
.alert.bad a:not(.btn){color:#fff}
.alert.bad .btn,.pt-diag .btn{background:#fff;color:var(--pri);border-color:#fff}
.pt-as.al{background:var(--pri);border-color:var(--pri);color:#fff}
.alert.bad.pt-alert,.pt-as.al{border-inline-start:4px solid var(--bad)}
.alert.pt-diag{background:var(--pri2);border-color:var(--pri2);color:#fff}
.pt-k.k1,.pt-k.k2,.pt-k.k3,.pt-k.k4{background:color-mix(in srgb,var(--pri) 5%,#fff);border-color:var(--line)}
.pt-chips2 .tg,.pt-chips2 .pd{background:rgba(255,255,255,.16);color:#fff}
.btn.ok{color:var(--ink);border-color:var(--line)}
/* 🎨 ألوان هادية — الباقي (المالك 24/10: «راجع كويس») — الديكور بس؛ أي لون بيقول «حالة» (مدفوع/متأخر/وصل/متسلم/علينا) فضل زي ما هو (المالك 24/10) */
.ai-step{background:var(--pri-soft);color:var(--pri)}
.md-r{background:var(--pri2);color:#fff}
.pt-hs b.bad{color:#ffb4ab}
.hp-tips,.pt-note,.pt-tpanel,.pc-ab span{background:color-mix(in srgb,var(--pri) 7%,#fff)!important;border-color:color-mix(in srgb,var(--pri) 22%,#fff)!important}
.md-r.o{background:var(--pri-soft);color:var(--pri)}
/* ⚠️ مثلث الحساسية أكبر + نقطة الميديكال أكبر (المالك 24/10) */
.pt-alic{font-size:1.6em;line-height:1;vertical-align:-.2em;margin-inline-end:4px}
.pt-as.al .pt-alic{font-size:1.9em}
.pt-dot,.pt-tabs2 .pt-dot{width:13px;height:13px;background:var(--bad);border:2px solid #fff;box-sizing:content-box}
.pt-tabs2 .pt-dot{top:1px;inset-inline-end:-2px}
/* 📅 كروت التقويم متلونة بلون الحالة (المالك 24/10: «لازم الأنواع تبان — وصل / بيتعمل / خلص») */
.pc-a{background:color-mix(in srgb,var(--c) 20%,#fff);border-color:color-mix(in srgb,var(--c) 45%,#fff);border-inline-start-width:6px}
.pc-a:hover{background:color-mix(in srgb,var(--c) 28%,#fff)}
/* 💵 شريط الدفع: أخضر المدفوع • أحمر الباقي (المالك 24/10) */
.paybar{display:inline-block;width:70px;height:8px;border-radius:6px;background:#e5484d;overflow:hidden;vertical-align:middle;margin-inline-start:4px}
.paybar i{display:block;height:100%;background:#2e9d62}.paybar.full{background:#2e9d62}
.paypc{font-weight:800;font-size:13px;margin-inline-start:4px}.paypc.ok{color:#1f7a4a}.paypc.part{color:#b54708}.paypc.none{color:#b42318}
.pt-k.due{border-inline-start:4px solid var(--bad)}.pt-k b.bad{color:var(--bad)}
/* 🔎 الخط الصغير أكبر وأتقل (المالك 24/10: «الخط الصغير محدش يعرف يقراه») — مفيش خط أصغر من 13px، و<small> أتقل وأغمق */
.small{font-size:13px;font-weight:600}
small{font-size:.9em;font-weight:600}
:root{--muted:#4f5b67}
/* 🟦 كروت الأرقام: كحلي رمادي والكلام أبيض (المالك 24/10 — اختيار 2) — كروت الحالة (.warn/.bad) فضلت بلونها */
:root{--kpi:#2c4058}
.stat:not(.warn):not(.bad),.pt-k,.hxr-t{background:var(--kpi)!important;border-color:var(--kpi)!important;color:#fff}
.stat:not(.warn):not(.bad) .n,.pt-k b,.hxr-t b{color:#fff}
.stat:not(.warn):not(.bad) .l,.stat:not(.warn):not(.bad) .muted,.stat:not(.warn):not(.bad) small,.pt-k span,.pt-k small,.hxr-t span,.hxr-t small,.pt-k .muted{color:rgba(255,255,255,.88)!important}
.stat:not(.warn):not(.bad) .bad,.pt-k b.bad,.hxr-t small[style*="--bad"]{color:#ffb4ab!important}
.stat:not(.warn):not(.bad) a{color:#fff}
.pt-k .pill{background:rgba(255,255,255,.18)!important;color:#fff!important}
.stat:not(.warn):not(.bad)::after{color:rgba(255,255,255,.7)!important}
.stat.on,.stat.sel,.hxr-t.on,.hxr-t.big{outline:3px solid #f2b84b!important;outline-offset:-3px}
button.hxr-t:hover,.stat[data-go]:hover,.stat.clk:hover,.stat[data-rf]:hover{filter:brightness(1.15)}
.pt-k.due{border-inline-start:5px solid #e5484d!important}
/* 🗂 تابات ملف المريض أكبر وأوضح (المالك 24/10: «خطها صغير») */
.pt-tabs2 a{font-size:15px;font-weight:800;color:var(--ink);padding:9px 12px}
.pt-tabs2 a.on{border-bottom-width:4px}
/* 🔎 قايمة المرضى الجديدة (24/10) — صف لكل مريض بدل الجدول العريض • الأسامي على اليمين بالعربي وعلى الشمال بالإنجليزي (logical props) */
.ptl{display:flex;flex-direction:column;gap:12px;padding-bottom:90px}
.ptl-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ptl-cnt{background:var(--pri);color:#fff;border-radius:999px;padding:1px 12px;font-weight:800}
.ptl-views{display:flex;gap:8px;flex-wrap:wrap}
.ptl-pill{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:5px 14px;font-weight:700;cursor:pointer;font-size:14px;display:inline-flex;gap:6px;align-items:center}
.ptl-pill span{opacity:.75;font-weight:600}.ptl-pill.on{background:var(--pri);border-color:var(--pri);color:#fff}
.ptl-pill.add{border-style:dashed;color:var(--muted);background:transparent}
.ptl-pill.sv{padding:3px 6px 3px 12px;gap:4px}.ptl-pill.sv .lnk{border:0;background:none;font:inherit;font-weight:700;cursor:pointer;color:inherit;padding:2px 0}
.ptl-pill .x{border:0;background:var(--pri-soft);border-radius:999px;width:22px;height:22px;cursor:pointer;color:var(--muted)}
.ptl-bar{display:flex;flex-direction:column;gap:10px}
.ptl-row{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end}
.ptl-row>label{flex:1 1 140px}.ptl-row>label.w2{flex:2 1 240px}.ptl-row>label.w15{flex:1.6 1 260px}
.ptl-row select,.ptl-row input{width:100%}
.ptl-dates,.ptl-rng{display:flex;gap:4px;align-items:center}.ptl-dates input,.ptl-rng input{flex:1;min-width:0}
.ptl-adv{border-color:var(--pri);color:var(--pri);font-weight:800}
.ptl-chips{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.ptl-chips:empty{display:none}
.ptl-chip{display:inline-flex;gap:6px;align-items:center;background:var(--pri-soft);color:var(--pri);border-radius:999px;padding:2px 6px;padding-inline-start:12px;font-size:13px;font-weight:700}
.ptl-chip button{border:0;background:#fff;border-radius:999px;width:20px;height:20px;cursor:pointer;color:var(--muted);line-height:1}
.lnk{border:0;background:none;color:var(--info);cursor:pointer;font:inherit;font-weight:600;padding:0}
.ptl-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.ptl-kpi{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 14px;display:flex;flex-direction:column}
.ptl-kpi span{font-size:13px;color:var(--muted);font-weight:600}.ptl-kpi b{font-size:22px;font-weight:800;color:var(--kpi,#2c4058)}
.ptl .ok,.ptl-kpi b.ok{color:var(--ok)}.ptl .bad,.ptl-kpi b.bad{color:var(--bad)}.ptl .info,.ptl-kpi b.info{color:var(--info)}.ptl .warn,.ptl-kpi b.warn{color:var(--warn)}
.ptl-list{padding:0;overflow:hidden}
.ptl-grid{display:grid;grid-template-columns:34px minmax(200px,2.2fr) minmax(140px,1.2fr) minmax(180px,1.5fr) minmax(160px,1.3fr) minmax(150px,1.3fr) 40px;gap:10px;align-items:center;padding:11px 14px}
.ptl-grid.nomoney{grid-template-columns:34px minmax(200px,2.2fr) minmax(140px,1.2fr) minmax(160px,1.3fr) minmax(150px,1.3fr) 40px}
.ptl-grid input[type=checkbox]{width:18px;height:18px}
.ptl-th{background:var(--pri-soft);font-size:13px;font-weight:800;color:var(--pri);padding-block:8px}
.ptl-sort{border:0;background:none;font:inherit;font-weight:800;color:inherit;cursor:pointer;padding:0}.ptl-sort.on{text-decoration:underline}
.ptl-item{border-top:1px solid var(--line)}.ptl-item.sel{background:#f2f6fd}
.ptl-name{display:flex;flex-direction:column;gap:2px;min-width:0}.ptl-name a{color:var(--ink);text-decoration:none;font-size:15px}.ptl-name a:hover{text-decoration:underline}
.ell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ptl-name .pill{align-self:flex-start}
.ptl-id,.ptl-appt{display:flex;flex-direction:column;gap:2px;font-size:14px;min-width:0}.ptl-appt{font-size:13px}
.ptl-money{display:flex;flex-direction:column;gap:3px;font-size:13px}.ptl-money>div{display:flex;justify-content:space-between;gap:8px}
.ptl-money .paybar{width:100%}
.ptl-tags{display:flex;gap:4px;flex-wrap:wrap}
.ptl-tag{background:var(--info-soft);color:var(--info);border-radius:6px;padding:1px 8px;font-size:13px;font-weight:700}
.ptl-tag.none{background:transparent;border:1px dashed #9aa5b1;color:var(--muted);font-weight:600}
.ptl-src{background:var(--rest);color:var(--pri);border-radius:6px;padding:1px 8px;font-size:13px;font-weight:600}
.ptl-chev{width:34px;height:34px;padding:0}
.ptl-det{margin:0 14px 14px;margin-inline-start:58px;background:#f7f8fa;border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px 18px}
.ptl-det>div{display:flex;flex-direction:column;gap:1px}.ptl-det b{font-size:14px}
.ptl-det-act{grid-column:1/-1;flex-direction:row!important;gap:8px!important;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:10px}
.ptl-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;border-top:1px solid var(--line)}
.ptl-bulk{position:fixed;bottom:16px;inset-inline-start:calc(210px + 24px);inset-inline-end:24px;z-index:20;background:var(--pri);color:#fff;border-radius:14px;padding:10px 16px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;box-shadow:0 8px 24px #1e283c40}
.ptl-bulk .btn{background:#fff;color:var(--pri);border-color:#fff;font-weight:800}.ptl-bulk .btn.ghost-w{background:transparent;color:#fff;border-color:#ffffff88}
.ptl-bulk .icon-btn{color:#fff}
body.nav-min .ptl-bulk{inset-inline-start:24px;inset-inline-end:24px}
.ptl-drw-wrap{position:fixed;inset:0;z-index:60}.ptl-drw-bg{position:absolute;inset:0;background:#0006}
.ptl-drw{position:absolute;top:0;bottom:0;inset-inline-end:0;width:min(560px,100%);background:#fff;display:flex;flex-direction:column;box-shadow:0 0 30px #0004}
.ptl-drw-h{display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}.ptl-drw-h h3{margin:0;flex:1;color:var(--pri)}
.ptl-drw-b{flex:1;overflow:auto;padding:4px 16px 16px}
.ptl-drw-b details{border-bottom:1px solid var(--line);padding:10px 0}.ptl-drw-b summary{font-weight:800;font-size:16px;color:var(--pri);cursor:pointer}
.ptl-drw-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:10px}.ptl-drw-g select,.ptl-drw-g input{width:100%}
.ptl-svbox{background:#f7f8fa;border:1px solid var(--line);border-radius:10px;padding:12px;margin-top:12px;display:flex;flex-direction:column;gap:8px}
.ptl-drw-f{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--line)}
.ptl-seg{display:flex;background:var(--pri-soft);border-radius:10px;padding:4px}.ptl-seg button{flex:1;border:0;background:transparent;border-radius:8px;padding:8px;font-weight:700;cursor:pointer;color:var(--muted)}
.ptl-seg button.on{background:#fff;color:var(--pri);box-shadow:0 1px 3px #0002}
.ptl-tagpick{display:flex;gap:6px;flex-wrap:wrap}.ptl-tagb{border:1px solid var(--line);background:#fff;border-radius:8px;padding:4px 12px;font-weight:700;cursor:pointer}
.ptl-tagb.on{background:var(--info);border-color:var(--info);color:#fff}
.ptl-radio{flex-direction:row!important;gap:8px!important;align-items:center;border:1px solid var(--line);border-radius:10px;padding:9px 12px;color:var(--ink)!important;font-size:14px!important;margin-bottom:6px}
.ptl-radio b{margin-inline-start:auto}.ptl-radio:has(input:checked){border:2px solid var(--pri);background:#f7f8fa}
.ptl-var{border:1px solid var(--line);background:#f7f8fa;border-radius:999px;padding:2px 10px;font-size:13px;font-weight:700;color:var(--pri);cursor:pointer}
.ptl-prev{background:var(--bg);border-radius:10px;padding:10px;margin-top:10px;display:flex;flex-direction:column;gap:6px}
.ptl-bubble{align-self:flex-start;background:#dcf3e4;border-radius:10px;padding:8px 12px;max-width:90%;white-space:pre-wrap;line-height:1.7}
.ptl-q-bar{height:8px;background:var(--pri-soft);border-radius:99px;overflow:hidden;margin-top:6px}.ptl-q-bar i{display:block;height:8px;background:var(--ok)}
.ptl-q{max-height:calc(46vh * var(--zv,1));overflow:auto;display:flex;flex-direction:column;gap:4px}
.ptl-q-i{display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:6px 10px}.ptl-q-i.done{opacity:.55}
.ptl-undo{position:fixed;bottom:84px;left:50%;transform:translateX(-50%);z-index:70;background:#1f2933;color:#fff;border-radius:12px;padding:8px 12px;display:flex;gap:10px;align-items:center;box-shadow:0 8px 24px #0004}
.ptl-undo .icon-btn{color:#fff}
@media(max-width:900px){.ptl-bulk{inset-inline:10px!important}.ptl-grid,.ptl-grid.nomoney{grid-template-columns:30px 1fr 40px;row-gap:6px}
  .ptl-grid>.ptl-id,.ptl-grid>.ptl-money,.ptl-grid>.ptl-appt,.ptl-grid>.ptl-tags{grid-column:2/3}.ptl-th>span:nth-child(n+3){display:none}
  .ptl-grid>.ptl-chev{grid-column:3;grid-row:1}.ptl-det{margin-inline-start:14px}.ptl-drw-g{grid-template-columns:1fr}}
.ptl-al{display:inline-block;background:var(--warn-soft);color:var(--warn);border-radius:6px;padding:0 6px;font-size:13px;font-weight:800;margin-inline-start:4px}
.ptl-name>a+.ptl-al{align-self:flex-start}
.ptl-row>label:has(.ptl-rng){flex:0 1 230px}
.pt-av img{width:100%;height:100%;border-radius:50%;object-fit:cover}
/* 🧾 فورم المريض بالتابات (24/10) */
.pf2{display:flex;flex-direction:column;gap:0;margin:-4px}
.pf2-h{display:flex;align-items:center;gap:14px;background:var(--pri);color:#fff;border-radius:12px;padding:12px 16px}
.pf2-ph{width:60px;height:60px;border-radius:50%;border:2px dashed #ffffff99;display:grid;place-items:center;cursor:pointer;font-size:22px;overflow:hidden;flex:none;color:#fff!important}
.pf2-ph img{width:60px;height:60px;object-fit:cover}
.pf2-ht{display:flex;flex-direction:column;flex:1}.pf2-ht b{font-size:19px}.pf2-ht .muted{color:#ffffffcc}
.pf2-req{display:flex;flex-direction:column;gap:4px;align-items:flex-end}.pf2-bar{width:200px;height:8px;background:#ffffff33;border-radius:99px;overflow:hidden}.pf2-bar i{display:block;height:8px;background:#8fd6a8;width:0}
.pf2-b{display:flex;gap:0;margin-top:10px;min-height:calc(52vh * var(--zv,1))}
.pf2-nav{width:220px;flex:none;background:#f7f8fa;border-inline-end:1px solid var(--line);border-radius:10px;padding:8px;display:flex;flex-direction:column;gap:3px}
.pf2-nav button{border:0;background:transparent;border-radius:9px;padding:10px 12px;display:flex;gap:8px;align-items:center;font:inherit;font-size:15px;font-weight:700;color:var(--ink);cursor:pointer;text-align:start}
.pf2-nav button span{flex:1}.pf2-nav button.on{background:var(--pri);color:#fff}
.pf2-nav i{font-style:normal;font-size:13px;font-weight:800;border-radius:99px;padding:0 8px}.pf2-nav i.ok{background:var(--ok-soft);color:var(--ok)}.pf2-nav i.warn{background:var(--warn-soft);color:var(--warn)}
.pf2-main{flex:1;min-width:0;padding:4px 16px}
.pf2-tt{margin:4px 0 10px;color:var(--pri);font-size:17px}
.grid.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px}.pf2-g .full{grid-column:1/-1}
.pf-seg{display:flex;gap:6px}.pf-seg button{flex:1;border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px;font:inherit;font-weight:700;cursor:pointer;color:var(--ink)}
.pf-seg button.on{border:2px solid var(--pri);background:#f7f8fa}
.pf-multi{display:flex;flex-wrap:wrap;gap:6px}.pf-multi label{flex-direction:row!important;align-items:center;gap:5px!important;border:1px solid var(--line);border-radius:18px;padding:4px 10px;color:var(--ink)!important}
.pf2-dup{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
@media(max-width:820px){.pf2-b{flex-direction:column}.pf2-nav{width:auto;flex-direction:row;overflow-x:auto}.pf2-nav button{white-space:nowrap}.grid.g3{grid-template-columns:1fr 1fr}.pf2-req{display:none}}
.pfb{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap}.pfb-tabs{width:330px;flex:none;display:flex;flex-direction:column;gap:6px;margin:0}
.pfb-f{flex:999 1 560px;min-width:0;margin:0}
.pfb-t{display:flex;gap:6px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:6px 8px;background:#fff;cursor:grab}
.pfb-t.on{border:2px solid var(--pri);background:#f7f8fa}.pfb-t .lnk{color:var(--ink);font-weight:800;font-size:15px}
.pfb-tbl tr[draggable]{cursor:grab}.pfb-tbl td{vertical-align:middle}
.pfb-tbl td:first-child{white-space:nowrap}.pfb-tbl td:first-child .btn{padding:2px 7px}

/* 🌉 جسر Dentolize (المالك 25/10): إخفاء علامات «من Dentolize» • Salary Hub */
body.dzhide .dzl{display:none!important}
.dzb-tr td{vertical-align:middle}
.dzb-tr select,.dzb-tr input{max-width:180px}
.dzb-ok{color:#17803d;font-weight:700}.dzb-bad{color:#b42318;font-weight:700}
.sh-grid{overflow:auto;max-width:100%}
.sh-grid table{border-collapse:collapse;font-size:13.5px;min-width:100%}
.sh-grid th,.sh-grid td{padding:5px 8px;border-bottom:1px solid var(--line,#e3e7eb);white-space:nowrap;text-align:end}
.sh-grid th:first-child,.sh-grid td:first-child{text-align:start;position:sticky;inset-inline-start:0;background:var(--card,#fff)}
.sh-grid td.z{color:#9aa4ad}
.sh-grid tr.tot td{font-weight:800;border-top:2px solid var(--line,#ccd)}
.sh-doc{cursor:pointer}.sh-doc:hover{text-decoration:underline}

.pt-sec>summary::-webkit-details-marker{display:none}
.pt-sec:not([open]) .pt-tw{transform:rotate(90deg);display:inline-block}
.pt-sec:not([open])>summary{margin:0}

tr.pt-due td{background:#fff1f1 !important;color:#7a1d1d !important}
tr.pt-due td:first-child a{color:#b42318 !important;font-weight:800}
tr.pt-due:hover td{background:#ffe3e3 !important}

/* 🗂 جروبات تابات ملف المريض */
.pt-tabs2.pt-tgrp{flex-wrap:nowrap;margin-bottom:0}
.pt-tabs2.pt-tgrp a{flex:1 1 0;text-align:center;min-width:0;overflow:hidden;text-overflow:ellipsis}
.pt-tabs3{display:flex;gap:6px;flex-wrap:wrap;padding:8px 0 10px}
.pt-tabs3 a{padding:6px 12px;border-radius:99px;background:var(--rest);border:1px solid var(--line);color:var(--ink);font-weight:700;font-size:14px;text-decoration:none;position:relative;white-space:nowrap}
.pt-tabs3 a.on{background:var(--pri);border-color:var(--pri);color:#fff}
.pt-tabs3 .pt-dot{position:absolute;top:-3px;inset-inline-end:-3px}
@media (max-width:600px){.pt-tabs2.pt-tgrp a{padding:8px 2px;font-size:13px;white-space:normal;line-height:1.25}.pt-tabs3 a{font-size:13px;padding:5px 10px}}

/* 🖐 أي حاجة بتتفتح وتتقفل (فولدرات الصور، أقسام العمود الجانبي …) ← شكل الإيد */
details>summary{cursor:pointer}
.pt-gi{position:relative;display:block}
.pt-gdel{position:absolute;top:4px;inset-inline-start:4px;border:0;border-radius:99px;width:24px;height:24px;background:rgba(0,0,0,.6);color:#fff;cursor:pointer;font-size:13px;line-height:24px;padding:0}
.pt-fold>summary .btn{margin-inline-start:8px}

/* 🤖 المساعد العايم */
.ai-fab{position:fixed;bottom:calc(86px + env(safe-area-inset-bottom));left:16px;z-index:900;width:54px;height:54px;border-radius:50%;border:0;background:var(--pri);color:#fff;font-size:26px;box-shadow:0 4px 14px rgba(0,0,0,.3);cursor:pointer}
.ai-fab:hover{transform:scale(1.06)}
.ai-pop{position:fixed;bottom:calc(150px + env(safe-area-inset-bottom));left:16px;z-index:901;width:min(380px,calc(100vw - 24px));height:min(540px,calc(100vh - 180px));display:flex;flex-direction:column;gap:6px;padding:10px;box-shadow:0 10px 30px rgba(0,0,0,.3)}
.ai-pop-h{display:flex;gap:4px;align-items:center}
.ai-pop .ai-pop-m{flex:1;overflow:auto;min-height:0;max-height:none}
.ai-pop .ai-in textarea{min-height:44px}
@media (max-width:600px){.ai-fab{left:12px;width:48px;height:48px;font-size:22px}.ai-pop{left:12px}}
@media print{.ai-fab,.ai-pop{display:none!important}}

/* 🗂 قايمة الإعدادات: أقسام بتتفتح وتتقفل */
.ps-nav{max-height:calc(100vh - 90px);overflow:auto}
.ps-nav .ps-g{border-bottom:1px solid var(--line)}.ps-nav .ps-g:last-child{border-bottom:0}
.ps-nav .ps-g>summary.ps-h{list-style:none;display:flex;align-items:center;gap:6px;font-weight:900;font-size:14.5px;color:var(--ink);margin:0;padding:10px 8px;border-radius:8px}
.ps-nav .ps-g>summary.ps-h::-webkit-details-marker{display:none}
.ps-nav .ps-g>summary.ps-h::after{content:"‹";font-size:18px;color:var(--muted);transition:transform .15s;margin-inline-start:auto}
.ps-nav .ps-g>summary.ps-h .small{font-weight:700;background:var(--rest);border-radius:99px;padding:0 7px}
.ps-nav .ps-g[open]>summary.ps-h::after{transform:rotate(-90deg)}
.ps-nav .ps-g>summary.ps-h:hover{background:var(--rest)}
.ps-nav .ps-items{display:flex;flex-direction:column;gap:2px;padding:0 0 8px;padding-inline-start:12px;border-inline-start:2px solid var(--line);margin-inline-start:10px}
@media (max-width:820px){.ps-nav{max-height:none}.ps-nav .ps-items a{border-bottom:0}}

tr.ps-flash td{background:#dcfce7!important;transition:background .4s}
.ps-ok{margin-inline-start:6px;white-space:nowrap}

.cb-g>summary{display:flex;align-items:center;gap:8px;font-size:15px}

/* ⚙️ صفحة الإعدادات: القايمة الرئيسية بتستخبى لوحدها */
body.nav-auto .nav{transform:translateX(100%)}
body.nav-auto main,body.nav-auto .tool-wrap{margin-right:0}
[dir=ltr] body.nav-auto .nav{transform:translateX(-100%)}
[dir=ltr] body.nav-auto main,[dir=ltr] body.nav-auto .tool-wrap{margin-left:0}

/* 👆 كروت أرقام المرضى بتتداس */
button.ptl-kpi{font:inherit;text-align:start;cursor:pointer;color:inherit}
button.ptl-kpi:hover{border-color:var(--pri);box-shadow:0 2px 8px rgba(0,0,0,.08)}
button.ptl-kpi.on{border-color:var(--pri);background:var(--pri-soft)}

/* ⚠️ تنبيهات الميديكال في ليستة المرضى: إيد + بتوري التنبيهات لما تقف عليها + بتفتح الميديكال */
a.ptl-al{cursor:pointer;text-decoration:none}
/* 🖐 (المالك 26/10) أي حاجة بتتداس ← إيد */
[data-go],[data-inv],[data-kv],[data-v],[data-cb],[role=button],.pt-clk,label.chk,select,summary{cursor:pointer}
a.ptl-al:hover{filter:brightness(.95);outline:1px solid #d97706}

/* 🧪 منصة المعامل (Labs Management) */
body.labsm #qaBtn, body.labsm #gsBtn, body.labsm #chatBtn, body.labsm #drBtn, body.labsm #brSw, body.labsm #anBtn { display: none !important; }
.lab-grid { display: grid; grid-template-columns: minmax(0, 2.4fr) minmax(0, 1fr); gap: 12px; margin-top: 12px; }
@media (max-width: 900px) { .lab-grid { grid-template-columns: 1fr; } }
.lab-empty { padding: 26px 16px; text-align: center; color: var(--muted); border: 1px dashed var(--line); border-radius: 12px; line-height: 1.8; margin-top: 8px; }
.lab-row { display: flex; justify-content: space-between; gap: 8px; padding: 6px 0; border-bottom: 1px solid var(--line); }
.lab-big { font-size: 30px; font-weight: 900; line-height: 1.1; }
.lab-code { font-family: ui-monospace, monospace; font-size: 28px; font-weight: 800; letter-spacing: 2px; direction: ltr; text-align: center; padding: 14px;
  border: 2px dashed var(--pri); border-radius: 12px; user-select: all; }
.lab-cls { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px; }
.lab-cl.on { outline: 2px solid var(--pri); }
.lab-docs { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.lab-docs .chip { background: var(--pri-soft); border-radius: 999px; padding: 4px 12px; font-weight: 700; font-size: 14px; }
a.lab-row { color: inherit; text-decoration: none; }
.lab-cur { border: 2px solid var(--pri); margin-bottom: 12px; }
tr.lab-on td { background: color-mix(in srgb, var(--pri) 10%, #fff); }
.bad-t { color: var(--bad); font-weight: 800; }
.lab-chip { display: inline-block; background: var(--pri-soft); border-radius: 999px; padding: 3px 10px; font-weight: 700; margin: 2px; }
.lab-board { display: flex; gap: 10px; overflow-x: auto; padding-bottom: 8px; align-items: flex-start; }
.lab-col { flex: 0 0 230px; background: color-mix(in srgb, var(--pri) 7%, #fff); border-radius: 12px; padding: 8px; display: flex; flex-direction: column; gap: 8px; }
.lab-colh { display: flex; justify-content: space-between; font-weight: 900; padding: 2px 4px; }
.lab-card { display: block; background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 8px 10px; color: inherit; text-decoration: none; }
.lab-card.late { border: 2px solid var(--bad); }
.lab-av { width: 28px; height: 28px; border-radius: 14px; background: var(--pri); color: #fff; font-size: 12px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; }
.lab-steps { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: 8px; }
.lab-step { background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 3px 9px; font-size: 13px; font-weight: 700; }
.lab-step.ap { background: var(--kpi, #2c4058); color: #fff; border-color: transparent; }
.lab-step.qc { background: var(--info-soft, #e3ecf7); }
.lab-grid > * { min-width: 0; }
.lab-grid .tw, .lab-board { overflow-x: auto; max-width: 100%; }
.stats { min-width: 0; }
.nw { white-space: nowrap; }
/* 🧪 المعامل — الشات والمهام والدليل */
.lab-msgs { max-height: 360px; overflow-y: auto; display: flex; flex-direction: column; gap: 8px; padding: 8px; background: color-mix(in srgb, var(--pri) 5%, #fff); border-radius: 10px; margin-top: 8px; }
.lab-msgs.big { max-height: 58vh; min-height: 300px; }
.lab-msg { max-width: 85%; align-self: flex-start; background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 6px 10px; }
.lab-msg.me { align-self: flex-end; background: var(--pri-soft); border-color: transparent; }
.lab-msg.doc { border: 1px solid var(--warn, #eda100); background: color-mix(in srgb, var(--warn, #eda100) 10%, #fff); }
.lab-mh { font-size: 12px; font-weight: 800; display: flex; gap: 8px; justify-content: space-between; }
.lab-mt { white-space: pre-wrap; word-break: break-word; margin-top: 2px; }
.lab-tabs { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 6px; }
.lab-chatw { display: grid; grid-template-columns: minmax(180px, 260px) minmax(0, 1fr); gap: 12px; align-items: start; }
@media (max-width: 760px) { .lab-chatw { grid-template-columns: 1fr; } .lab-rooms { display: flex; overflow-x: auto; gap: 6px; } .lab-room { white-space: nowrap; } }
.lab-rooms { padding: 6px; }
.lab-room { display: flex; justify-content: space-between; align-items: center; gap: 6px; padding: 8px 10px; border-radius: 8px; color: inherit; text-decoration: none; font-weight: 700; cursor: pointer; }
.lab-room:hover { background: color-mix(in srgb, var(--pri) 8%, #fff); }
.lab-room.on { background: var(--pri); color: #fff; }
.lab-ell { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lab-flow { display: grid; gap: 10px; }
.lab-fs { display: flex; gap: 10px; align-items: flex-start; }
.lab-fi { width: 38px; height: 38px; flex: 0 0 38px; border-radius: 19px; background: var(--pri-soft); display: flex; align-items: center; justify-content: center; font-size: 19px; }
.lab-lv { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 10px; }
.lab-lvc { border: 1px solid var(--line); border-radius: 10px; padding: 10px; line-height: 1.7; }
.lab-chat .btn .pill { margin-inline-start: 4px; }
a.lab-row, .lab-card, .lab-room, [data-go] { cursor: pointer; }
