:root{
  --bg:#f4f1ea; --card:#ffffff; --ink:#1d2526; --muted:#6b7475; --line:#e3ded3;
  --brand:#0f3d3e; --brand2:#165a5b; --accent:#e0a43a; --red:#c2412d; --green:#2f7d4f; --blue:#2b5c9e;
  --chip:#ece7dc; --shadow:0 1px 2px rgba(0,0,0,.06),0 2px 8px rgba(0,0,0,.04); --onbrand:#fff;
}
@media (prefers-color-scheme: dark){
  :root{ --bg:#101617; --card:#182122; --ink:#e9ecea; --muted:#9aa5a6; --line:#263233; --brand:#7cc7c2; --brand2:#5fb0ab; --accent:#e8b453; --red:#ef7a66; --green:#6cc493; --blue:#7fa8e0; --chip:#223031; --shadow:none; --onbrand:#0b1213; }
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%}
body{background:var(--bg);color:var(--ink);font:16px/1.55 -apple-system,"SF Arabic","Segoe UI",Tahoma,sans-serif;padding-top:env(safe-area-inset-top);overscroll-behavior-y:none}
button,input,textarea,select{font:inherit;color:inherit}
a{color:var(--blue)}
header.top{position:sticky;top:0;z-index:5;background:var(--bg);padding:10px 16px 8px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line)}
header.top h1{font-size:19px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
header.top .sub{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
main{padding:12px 16px 90px;max-width:860px;margin:0 auto}
nav.tabs{position:fixed;bottom:0;inset-inline:0;z-index:6;background:var(--card);border-top:1px solid var(--line);display:flex;padding-bottom:env(safe-area-inset-bottom)}
nav.tabs button{flex:1;border:0;background:none;padding:8px 0 6px;font-size:12px;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:2px;position:relative}
nav.tabs button .i{font-size:20px;line-height:1}
nav.tabs button.on{color:var(--brand);font-weight:600}
.badge{background:var(--red);color:#fff;border-radius:9px;font-size:11px;padding:0 6px;position:absolute;top:2px;inset-inline-start:calc(50% + 6px);line-height:16px}
.hbtn .badge{top:-2px;inset-inline-start:22px}
h2{font-size:15px;color:var(--muted);margin:18px 2px 8px;font-weight:600;display:flex;align-items:center;gap:6px;justify-content:space-between}
h3{font-size:16px;margin:0 0 6px}
.card{background:var(--card);border-radius:14px;box-shadow:var(--shadow);border:1px solid var(--line);padding:12px 14px;margin-bottom:8px}
.card.click{cursor:pointer}
.alert{border-inline-start:4px solid var(--red)}.alert.amber{border-inline-start-color:var(--accent)}.alert.blue{border-inline-start-color:var(--blue)}.alert.green{border-inline-start-color:var(--green)}
.meta{font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:2px;align-items:center}
.tag{font-size:12px;border-radius:8px;padding:1px 8px;background:var(--chip);color:var(--ink);white-space:nowrap}
.tag.red{background:color-mix(in srgb,var(--red) 16%,transparent);color:var(--red)}
.tag.amber{background:color-mix(in srgb,var(--accent) 22%,transparent);color:color-mix(in srgb,var(--accent) 60%,var(--ink))}
.tag.blue{background:color-mix(in srgb,var(--blue) 16%,transparent);color:var(--blue)}
.tag.green{background:color-mix(in srgb,var(--green) 16%,transparent);color:var(--green)}
.empty{color:var(--muted);text-align:center;padding:16px;font-size:14px}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.between{justify-content:space-between}
.btn{border:0;border-radius:12px;padding:10px 14px;background:var(--brand);color:var(--onbrand);font-weight:600;cursor:pointer;text-decoration:none;display:inline-block}
.btn.sec{background:var(--chip);color:var(--ink)}.btn.red{background:var(--red);color:#fff}.btn.green{background:var(--green);color:#fff}.btn.sm{padding:6px 10px;font-size:14px;border-radius:10px}.btn:disabled{opacity:.5}
.rbtn{flex:none;width:38px;height:38px;border-radius:50%;border:0;background:var(--brand);color:var(--onbrand);font-size:18px;display:grid;place-items:center;cursor:pointer;position:relative}
.rbtn.ghost{background:var(--chip);color:var(--ink)}
label.f{display:block;font-size:13px;color:var(--muted);margin:10px 0 4px}
input.in,textarea.in,select.in{width:100%;border:1px solid var(--line);background:var(--bg);border-radius:10px;padding:9px 10px;font-size:16px}
textarea.in{min-height:70px;resize:vertical}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.grid3{display:grid;grid-template-columns:1fr 1fr;gap:8px}@media(min-width:560px){.grid3{grid-template-columns:repeat(3,1fr)}}
.grid4{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:8px 0}@media(min-width:560px){.grid4{grid-template-columns:repeat(4,1fr)}}
.stat{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:8px 10px}.stat b{display:block;font-size:16px}.stat span{font-size:12px;color:var(--muted)}
.stat.red b{color:var(--red)}.stat.amber b{color:color-mix(in srgb,var(--accent) 70%,var(--ink))}.stat.green b{color:var(--green)}
.bar{height:7px;background:var(--chip);border-radius:4px;overflow:hidden;margin-top:4px}.bar i{display:block;height:100%;background:var(--green);border-radius:4px}
.tbl{width:100%;border-collapse:collapse;font-size:13px}.tbl th{color:var(--muted);font-weight:600;text-align:start;border-bottom:1px solid var(--line);padding:4px 4px;white-space:nowrap}
.tbl td{border-bottom:1px solid var(--line);padding:5px 4px;vertical-align:middle;white-space:nowrap}.tbl tr.late td{color:var(--red)}.tbl tr.ok td{color:var(--green)}.tbl tr.out td{background:color-mix(in srgb,var(--red) 10%,transparent)}
.tbl input{width:72px;border:1px solid var(--line);background:var(--bg);border-radius:6px;padding:4px 5px;font-size:14px}.tbl input.w{width:120px}.tbl input.n{width:56px}
.scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.chips{display:flex;gap:6px;overflow-x:auto;padding:2px 0 8px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}
.chips button{flex:none;border:1px solid var(--line);background:var(--card);border-radius:16px;padding:5px 12px;font-size:14px;cursor:pointer}.chips button.on{background:var(--brand);border-color:var(--brand);color:var(--onbrand)}
.sheet-bg{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:20;display:none}
.sheet{position:fixed;inset-inline:0;bottom:0;z-index:21;background:var(--card);border-radius:18px 18px 0 0;max-height:90vh;overflow:auto;padding:14px 16px calc(20px + env(safe-area-inset-bottom));transform:translateY(105%);transition:transform .22s ease;max-width:860px;margin:0 auto;visibility:hidden}
.sheet.open{transform:none;visibility:visible}.sheet .grab{width:40px;height:5px;border-radius:3px;background:var(--line);margin:0 auto 10px}
.toast{position:fixed;top:calc(12px + env(safe-area-inset-top));inset-inline:16px;z-index:40;background:var(--ink);color:var(--bg);padding:10px 14px;border-radius:12px;font-size:14px;display:none;text-align:center}
.hint{font-size:13px;color:var(--muted)}
.hidden{display:none!important}
.login{max-width:380px;margin:12vh auto 0;text-align:center}.login img{width:84px;border-radius:20px}
.chat .msg{max-width:90%;padding:9px 12px;border-radius:16px;margin:6px 0;white-space:pre-wrap;overflow-wrap:anywhere}
.chat .me{background:var(--brand);color:var(--onbrand);margin-inline-start:auto;border-end-end-radius:4px}.chat .ai{background:var(--card);border:1px solid var(--line);border-end-start-radius:4px}
.composer{position:fixed;inset-inline:0;bottom:calc(56px + env(safe-area-inset-bottom));z-index:6;padding:8px 12px;background:linear-gradient(to top,var(--bg) 70%,transparent)}
.composer .box{max-width:860px;margin:0 auto;display:flex;gap:8px;align-items:flex-end;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:6px 6px 6px 8px;box-shadow:var(--shadow)}
.composer textarea{flex:1;border:0;background:none;resize:none;outline:none;max-height:120px;padding:7px 8px;font-size:16px}
.typing i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--muted);margin:0 2px;animation:b 1s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes b{50%{transform:translateY(-4px)}}
.navc{display:flex;flex-direction:column;gap:2px;cursor:pointer}
.steps{display:flex;gap:4px;align-items:center;font-size:12px;color:var(--muted);flex-wrap:wrap}.steps span{padding:2px 8px;border-radius:8px;background:var(--chip)}.steps span.on{background:var(--brand);color:var(--onbrand)}.steps span.done{background:color-mix(in srgb,var(--green) 20%,transparent);color:var(--green)}
.notif{display:flex;gap:10px;align-items:flex-start}.notif.unread{border-inline-start:4px solid var(--blue)}
.comment{border-inline-start:3px solid var(--line);padding:4px 10px;margin:6px 0;font-size:14px;white-space:pre-wrap}
.dz{border:2px dashed var(--line);border-radius:12px;padding:14px;text-align:center;color:var(--muted);font-size:14px}

.tbl.compact .x{display:none}

/* وضع العامل */
.tnstrip{display:flex;gap:5px;overflow-x:auto;padding:4px 0 8px;scrollbar-width:none}.tnstrip::-webkit-scrollbar{display:none}
.tnstrip .tn{flex:none;min-width:40px;height:36px;border:0;border-radius:10px;font-weight:700;font-size:15px}.tnstrip .tn.on{outline:3px solid var(--brand);outline-offset:1px}
.card.big{padding:14px}.tnum{font-size:38px;font-weight:800;line-height:1.1;color:var(--brand)}.tnum small{font-size:15px;color:var(--muted);font-weight:600}.theo{font-size:26px;font-weight:700}.theo small{font-size:13px;color:var(--muted)}
.sv{width:100%;border-collapse:separate;border-spacing:0 6px;margin-top:8px}.sv th{font-size:12px;color:var(--muted);font-weight:600}.sv td{text-align:center}.sv td.lbl{width:34px;font-weight:700;font-size:18px;color:var(--muted)}.sv td.tot{font-size:20px;font-weight:700;width:70px}
.bigin{width:100%;max-width:150px;font-size:26px;font-weight:700;text-align:center;padding:8px 4px;border:2px solid var(--line);border-radius:12px;background:var(--bg)}.bigin:focus{border-color:var(--brand);outline:0}
.res{margin-top:8px;padding:10px;border-radius:12px;background:var(--chip);text-align:center;font-size:16px}.res.good{background:color-mix(in srgb,var(--green) 18%,transparent)}.res.bad{background:color-mix(in srgb,var(--red) 18%,transparent);color:var(--red)}
.navbar{position:fixed;inset-inline:0;bottom:calc(56px + env(safe-area-inset-bottom));z-index:5;justify-content:space-between;padding:8px 16px;background:var(--bg);border-top:1px solid var(--line);max-width:860px;margin:0 auto}.navbar .btn{font-size:17px;padding:12px 18px}
.target{margin-top:8px;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--blue) 14%,transparent);font-size:17px;text-align:center}.target b{font-size:22px}.thumb{width:64px;height:64px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}
.calib td input{width:80px}

.sect-h{font-weight:700;font-size:13px;color:var(--muted,#667);margin:14px 4px 6px;padding-bottom:4px;border-bottom:1px solid var(--line,#0001)}.more-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.more-grid .card{margin:0;padding:10px}.more-grid .navc b{font-size:14px}.more-grid .hint{font-size:11px;line-height:1.35}@media(min-width:760px){.more-grid{grid-template-columns:repeat(3,1fr)}}

/* ===== واجهة المالية (Workspace) — بنمط دفترة: قائمة جانبية يمين + شريط علوي + جداول كثيفة ===== */
body.ws{--bg:#f2f4f7;--card:#fff;--line:#dde2e8;--brand:#1f6fb2;--brand2:#185a91;--chip:#e9edf2;--onbrand:#fff;--wsSide:#1d2b3a;--wsSideInk:#c9d3df;--wsSideOn:#2a3f55;padding-top:0}
@media (prefers-color-scheme: dark){body.ws{--bg:#121820;--card:#18212b;--line:#2a3643;--brand:#5aa4e0;--brand2:#7bb7ea;--chip:#223040;--onbrand:#0b1219;--wsSide:#0f161d;--wsSideInk:#aebccb;--wsSideOn:#1c2a38}}
body.ws header.top,body.ws nav.tabs{display:none!important}
body.ws main{max-width:none;margin:0;padding:72px 24px 40px;margin-inline-start:252px}
body.ws.wsc main{margin-inline-start:0}
#wsSide{position:fixed;inset-block:0;inset-inline-start:0;width:252px;background:var(--wsSide);color:var(--wsSideInk);z-index:9;overflow-y:auto;display:flex;flex-direction:column;font-size:14px}
body.wsc #wsSide{display:none}
#wsSide .brand{padding:16px 18px;font-weight:700;font-size:17px;color:#fff;border-bottom:1px solid #ffffff14;display:flex;align-items:center;gap:8px}
#wsSide .grp{border-bottom:1px solid #ffffff0d}
#wsSide .gh{display:flex;align-items:center;justify-content:space-between;padding:11px 18px;cursor:pointer;color:#fff;font-weight:600;user-select:none}
#wsSide .gh:hover{background:#ffffff0d}#wsSide .gh .car{font-size:10px;opacity:.6;transition:transform .15s}#wsSide .grp.open .gh .car{transform:rotate(-90deg)}
#wsSide .gi{display:none;padding-bottom:6px}#wsSide .grp.open .gi{display:block}
#wsSide a{display:block;padding:8px 18px 8px 18px;padding-inline-start:40px;color:var(--wsSideInk);text-decoration:none;border-inline-start:3px solid transparent}
#wsSide a:hover{background:#ffffff0d;color:#fff}#wsSide a.on{background:var(--wsSideOn);color:#fff;border-inline-start-color:#4aa3ff;font-weight:600}
#wsSide .one{display:block;padding:11px 18px;color:#fff;font-weight:600;text-decoration:none;border-inline-start:3px solid transparent}#wsSide .one.on{background:var(--wsSideOn);border-inline-start-color:#4aa3ff}
#wsSide .foot{margin-top:auto;padding:12px 18px;border-top:1px solid #ffffff14;font-size:12px}
#wsSide .foot button{width:100%;margin-top:8px;border:1px solid #ffffff30;background:none;color:#fff;border-radius:8px;padding:7px;cursor:pointer}
#wsTop{position:fixed;inset-block-start:0;inset-inline:252px 0;height:56px;background:var(--card);border-bottom:1px solid var(--line);z-index:8;display:flex;align-items:center;gap:12px;padding:0 20px}
body.wsc #wsTop{inset-inline-start:0}
#wsTop .crumb{font-weight:700;font-size:16px;white-space:nowrap}
#wsTop .sch{flex:1;max-width:520px;position:relative}
#wsTop .sch input{width:100%;border:1px solid var(--line);background:var(--bg);border-radius:8px;padding:8px 12px;font-size:14px;color:var(--ink)}
#wsRes{position:absolute;inset-inline:0;top:42px;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px #0002;max-height:420px;overflow:auto;display:none;z-index:12}
#wsRes a{display:flex;justify-content:space-between;gap:10px;padding:9px 14px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);font-size:14px}#wsRes a:hover{background:var(--chip)}#wsRes small{color:var(--muted)}
#wsTop .sp{flex:1}
#wsTop .btn{padding:8px 14px;border-radius:8px;font-size:14px}
#wsTop .ib{border:0;background:none;font-size:18px;cursor:pointer;color:var(--ink);padding:6px 8px;border-radius:8px}#wsTop .ib:hover{background:var(--chip)}
.wsmenu{position:absolute;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px #0002;min-width:200px;z-index:13;overflow:hidden}
.wsmenu a,.wsmenu button{display:block;width:100%;text-align:start;padding:10px 14px;border:0;background:none;color:var(--ink);text-decoration:none;font-size:14px;cursor:pointer}.wsmenu a:hover,.wsmenu button:hover{background:var(--chip)}
.ws .sheet{inset-inline:auto;left:50%;right:auto;bottom:auto;top:50%;width:min(640px,94vw);border-radius:14px;transform:translate(-50%,-46%) scale(.97);opacity:0}
.ws .sheet.open{transform:translate(-50%,-50%);opacity:1}.ws .sheet .grab{display:none}
/* رأس الصفحة + أدوات */
.wsh{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;flex-wrap:wrap}
.wsh h2{margin:0;font-size:21px}.wsh .sub{color:var(--muted);font-size:13px;margin-top:2px}
.wsh .acts{display:flex;gap:8px;flex-wrap:wrap}
.wsb{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:8px;padding:8px 14px;font-size:14px;cursor:pointer;text-decoration:none;display:inline-block}.wsb:hover{background:var(--chip)}
.wsb.p{background:var(--brand);border-color:var(--brand);color:var(--onbrand);font-weight:600}.wsb.p:hover{background:var(--brand2)}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:0 0 14px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px;border-inline-start:4px solid var(--brand)}
.kpi span{display:block;font-size:12.5px;color:var(--muted)}.kpi b{display:block;font-size:22px;margin-top:2px}.kpi small{color:var(--muted)}
.kpi.red{border-inline-start-color:var(--red)}.kpi.red b{color:var(--red)}.kpi.amber{border-inline-start-color:var(--accent)}.kpi.green{border-inline-start-color:var(--green)}.kpi.green b{color:var(--green)}
.wsf{display:flex;gap:10px;flex-wrap:wrap;align-items:center;background:var(--card);border:1px solid var(--line);border-bottom:0;border-radius:10px 10px 0 0;padding:10px 12px}
.wsf input,.wsf select{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:8px;padding:7px 10px;font-size:14px}.wsf input[type=search],.wsf input.q{min-width:240px}
.wsf .cnt{margin-inline-start:auto;color:var(--muted);font-size:13px}
.wst{background:var(--card);border:1px solid var(--line);border-radius:0 0 10px 10px;overflow:auto;max-height:calc(100vh - 330px)}
.wst table{width:100%;border-collapse:collapse;font-size:14px}
.wst th{position:sticky;top:0;background:var(--chip);color:var(--muted);font-weight:600;text-align:start;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap;cursor:pointer;user-select:none;font-size:13px}
.wst th.num,.wst td.num{text-align:end}.wst th .ar{font-size:10px;opacity:.7}
.wst td{padding:9px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
.wst tbody tr:nth-child(even){background:color-mix(in srgb,var(--chip) 35%,transparent)}.wst tbody tr.clk{cursor:pointer}.wst tbody tr:hover{background:color-mix(in srgb,var(--brand) 9%,transparent)}
.wst tfoot td{position:sticky;bottom:0;background:var(--chip);font-weight:700;border-top:2px solid var(--line)}
.wst td a{color:var(--brand);text-decoration:none;font-weight:600}
.pill{display:inline-block;border-radius:12px;padding:2px 10px;font-size:12.5px;font-weight:600}
.pill.paid{background:#2f7d4f22;color:var(--green)}.pill.open{background:#e0a43a2b;color:#9a6a12}.pill.overdue{background:#c2412d22;color:var(--red)}.pill.partial{background:#2b5c9e22;color:var(--blue)}.pill.grey{background:var(--chip);color:var(--muted)}
.wspg{display:flex;justify-content:space-between;align-items:center;padding:10px 4px;color:var(--muted);font-size:13px}
.wspg button{border:1px solid var(--line);background:var(--card);border-radius:6px;padding:4px 12px;cursor:pointer;color:var(--ink)}.wspg button:disabled{opacity:.4}
.wsg2{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:14px;margin-bottom:14px}
.wsc2{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 16px}.wsc2 h4{margin:0 0 10px;font-size:15px}
.hb{display:flex;align-items:center;gap:8px;margin:6px 0;font-size:13px}.hb .lbl{width:110px;color:var(--muted)}.hb .tr{flex:1;height:10px;background:var(--chip);border-radius:5px;overflow:hidden}.hb .tr i{display:block;height:100%;border-radius:5px}.hb .vv{width:90px;text-align:end;font-variant-numeric:tabular-nums}
.vbars{display:flex;align-items:flex-end;gap:14px;height:170px;padding-top:8px}.vbars .c{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%;justify-content:flex-end}.vbars .pair{display:flex;gap:4px;align-items:flex-end;height:140px;width:100%;justify-content:center}.vbars .pair i{display:block;width:40%;border-radius:4px 4px 0 0;min-height:2px}.vbars small{color:var(--muted);font-size:11.5px}
.lg{display:flex;gap:14px;font-size:12.5px;color:var(--muted);margin-top:6px}.lg i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-inline-end:5px}
@media (max-width:900px){body.ws main{margin-inline-start:0;padding:68px 12px 40px}#wsSide{transform:translateX(100%);transition:transform .2s}[dir=rtl] #wsSide{transform:translateX(100%)}body.ws.wso #wsSide{transform:none}#wsTop{inset-inline-start:0}}
@media print{#wsSide,#wsTop,.wsf,.wspg,.wsh .acts{display:none!important}body.ws main{margin:0;padding:0}.wst{max-height:none;overflow:visible}}
#cmdFab{position:fixed;inset-inline-start:14px;bottom:84px;z-index:50;width:48px;height:48px;border-radius:50%;border:0;background:#f59e0b;color:#fff;font-size:22px;box-shadow:0 3px 10px rgba(0,0,0,.3);cursor:pointer}
body.ws #cmdFab{display:none}
a.l360{color:inherit;text-decoration:none;border-bottom:1px dotted #1d4ed8;cursor:pointer}a.l360:hover{color:#1d4ed8}
.trail360{margin:0 0 10px;font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;gap:4px;align-items:center}.trail360 a{color:#1d4ed8}
body.ws .wst td a.l360{position:relative;z-index:1}

#fbFab{position:fixed;inset-inline-end:14px;bottom:84px;z-index:50;width:48px;height:48px;border-radius:50%;border:0;background:#1a4b7a;color:#fff;font-size:21px;box-shadow:0 3px 10px rgba(0,0,0,.3);cursor:pointer}
