:root{--bg:#faf7f0;--card:#fffefb;--ink:#2a2217;--mut:#7d725f;--line:#e9e1cf;--hover:#f5eedf;--th:#f6f0e3;--brand:#d99a1c;--brand-ink:#1b1305;--inp:#fff;--inp-line:#d9ceb6;
--side:#f6f0e3;--side-ink:#3d3425;--side-mut:#9a8d74;--side-on:#ecdcb8;--side-on-ink:#5a3d00;
--ok:#15803d;--ok-bg:#dcfce7;--warn:#a16207;--warn-bg:#fef3c7;--bad:#b91c1c;--bad-bg:#fee2e2;--info:#1d4ed8;--info-bg:#dbeafe;--mut-bg:#ece6d6;
--r:10px;--sh:0 1px 2px rgba(60,40,0,.05),0 2px 8px rgba(60,40,0,.04);color-scheme:light}
[data-theme=dark]{--bg:#0d0b08;--card:#15120d;--ink:#ece7dd;--mut:#9a9385;--line:#2a241a;--hover:#1d1911;--th:#110f0b;--brand:#e8a92d;--inp:#0f0d0a;--inp-line:#3a3223;
--side:#100e0a;--side-ink:#c4bdae;--side-mut:#7a7466;--side-on:#2a2111;--side-on-ink:#f0b93f;
--ok:#4ade80;--ok-bg:#10301c;--warn:#fbbf24;--warn-bg:#3a2c0b;--bad:#f87171;--bad-bg:#3d1717;--info:#7cb2ff;--info-bg:#14284d;--mut-bg:#26211a;--sh:0 1px 2px rgba(0,0,0,.5);color-scheme:dark}
*{box-sizing:border-box}html{font-size:14.5px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,"Segoe UI","Noto Sans Arabic",Tahoma,system-ui,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}
h1{font-size:1.4rem;margin:0;font-weight:700}h2{font-size:1.05rem;margin:0 0 .6rem;font-weight:650}h3{font-size:.95rem;margin:0 0 .4rem}
.muted{color:var(--mut)}.num{direction:ltr;unicode-bidi:isolate}.right{text-align:end}.center{text-align:center}.inl{display:inline}.nowrap{white-space:nowrap}
.app{display:flex;min-height:100vh}
.side{width:248px;flex:none;background:var(--side);color:var(--side-ink);position:sticky;top:0;height:100vh;overflow-y:auto;border-inline-end:1px solid var(--line);padding-bottom:1rem;scrollbar-width:thin}
.brand{display:flex;align-items:center;gap:.6rem;padding:.9rem 1rem;font-weight:700;color:var(--ink);position:sticky;top:0;background:var(--side);z-index:2}.brand:hover{text-decoration:none}
.logo-mark{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--brand);color:var(--brand-ink);font-weight:800}.logo-mark.big{width:56px;height:56px;font-size:1.6rem;margin:0 auto 1rem}
.newwo{margin:.2rem .7rem .4rem;width:auto}
.nav-sec{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--side-mut);padding:.9rem 1.1rem .3rem;font-weight:600}
.nav-i{display:flex;align-items:center;gap:.65rem;padding:.45rem .7rem;margin:1px .6rem;color:var(--side-ink);border-radius:7px;font-size:.9rem;font-weight:500}
.nav-i:hover{background:color-mix(in srgb,var(--side-on) 50%,transparent);text-decoration:none}.nav-i.on{background:var(--side-on);color:var(--side-on-ink);font-weight:650}
.main{flex:1;min-width:0;display:flex;flex-direction:column}
.top{display:flex;align-items:center;gap:.6rem;padding:.55rem 1.2rem;background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.top-r{display:flex;align-items:center;gap:.2rem;margin-inline-start:auto}
.gsearch{display:flex;align-items:center;gap:.5rem;flex:1;max-width:440px;background:var(--hover);border-radius:99px;padding:0 .9rem;color:var(--mut)}
.gsearch .inp{border:0;background:transparent;box-shadow:none;padding:.45rem 0}.gsearch .inp:focus{outline:0;box-shadow:none}
.icon-btn{background:none;border:0;padding:.45rem .55rem;border-radius:7px;color:var(--ink);cursor:pointer;position:relative;display:inline-flex;align-items:center;font:inherit;font-size:.85rem}.icon-btn:hover{background:var(--hover);text-decoration:none}
.dot{position:absolute;top:0;inset-inline-end:0;background:var(--bad);color:#fff;font-size:.6rem;border-radius:99px;padding:0 5px;font-style:normal}
.user-chip{display:inline-flex;align-items:center;gap:.4rem;font-weight:550;padding:0 .4rem}.avatar{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--brand);color:var(--brand-ink);font-size:.75rem;font-weight:700}
#navtoggle{display:none}
.content{padding:1.2rem 1.4rem 2.5rem;max-width:1500px;width:100%;margin-inline:auto}
.page-h{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin-bottom:1rem}.page-h .actions{margin-inline-start:auto;display:flex;gap:.4rem;flex-wrap:wrap}
.crumbs{font-size:.82rem;color:var(--mut);margin-bottom:.2rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.1rem;margin-bottom:1rem;box-shadow:var(--sh)}
.grid{display:grid;gap:1rem}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.g5{grid-template-columns:repeat(5,1fr)}.g21{grid-template-columns:2fr 1fr}
.kpi{border-inline-start:3px solid var(--brand)}.kpi .l{color:var(--mut);font-size:.8rem}.kpi .v{font-size:1.6rem;font-weight:700;line-height:1.2}
.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.42rem .85rem;border-radius:8px;border:1px solid var(--inp-line);background:var(--card);color:var(--ink);font:inherit;font-size:.88rem;font-weight:550;cursor:pointer}
.btn:hover{background:var(--hover);text-decoration:none}.btn.pri{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.btn.pri:hover{filter:brightness(.95)}
.btn.bad{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 40%,var(--inp-line))}.btn.sm{padding:.25rem .6rem;font-size:.8rem}.btn.block{display:flex;justify-content:center;width:100%}
.inp{width:100%;padding:.45rem .65rem;border:1px solid var(--inp-line);border-radius:8px;font:inherit;background:var(--inp);color:var(--ink)}
.inp:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 22%,transparent)}
select.inp{appearance:none;-webkit-appearance:none;padding-inline-end:1.8rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='3'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center}
[dir=rtl] select.inp{background-position:left .6rem center}textarea.inp{min-height:76px;resize:vertical}
.fld{display:block;margin-bottom:.7rem}.fld>span{display:block;font-size:.8rem;color:var(--mut);margin-bottom:.2rem;font-weight:550}.fld>span b{color:var(--bad)}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 1rem}.form-grid .full{grid-column:1/-1}
.toolbar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:.9rem}.toolbar .inp{width:auto;min-width:150px}.toolbar .grow{flex:1;min-width:200px}
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--card);box-shadow:var(--sh);margin-bottom:1rem}
table.tbl{width:100%;border-collapse:collapse}.tbl th{background:var(--th);text-align:start;font-size:.72rem;color:var(--mut);text-transform:uppercase;letter-spacing:.05em;padding:.5rem .75rem;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl td{padding:.5rem .75rem;border-bottom:1px solid var(--line);vertical-align:middle}.tbl tbody tr:last-child td{border-bottom:0}.tbl tbody tr:hover td{background:var(--hover)}
.tbl .n{text-align:end;font-variant-numeric:tabular-nums}.tbl tfoot td{font-weight:700;background:var(--th)}.tbl .empty{text-align:center;color:var(--mut);padding:2rem}.tbl td.act{text-align:end;white-space:nowrap}
.pill{display:inline-block;padding:.08rem .55rem;border-radius:99px;font-size:.75rem;font-weight:600}
.pill.ok{background:var(--ok-bg);color:var(--ok)}.pill.warn{background:var(--warn-bg);color:var(--warn)}.pill.bad{background:var(--bad-bg);color:var(--bad)}.pill.info{background:var(--info-bg);color:var(--info)}.pill.mut{background:var(--mut-bg);color:var(--mut)}
.alert{padding:.6rem .9rem;border-radius:8px;margin-bottom:.9rem;font-weight:550}.alert.ok{background:var(--ok-bg);color:var(--ok)}.alert.bad{background:var(--bad-bg);color:var(--bad)}
.tabs{display:flex;gap:.2rem;border-bottom:1px solid var(--line);margin-bottom:1rem;overflow-x:auto}.tabs a{padding:.5rem .9rem;color:var(--mut);font-weight:600;border-bottom:2px solid transparent;white-space:nowrap}.tabs a.on{color:var(--ink);border-color:var(--brand)}.tabs a:hover{text-decoration:none;color:var(--ink)}
.kv{display:grid;grid-template-columns:auto 1fr;gap:.25rem 1rem}.kv dt{color:var(--mut)}.kv dd{margin:0}
.totals{margin-inline-start:auto;width:min(340px,100%)}.totals div{display:flex;justify-content:space-between;padding:.2rem 0}.totals .t{font-weight:700;font-size:1.1rem;border-top:1px solid var(--line);margin-top:.3rem;padding-top:.4rem}
.login{min-height:100vh;display:grid;place-items:center;padding:1rem}.login-card{width:min(380px,100%);background:var(--card);border:1px solid var(--line);border-radius:14px;padding:2rem;box-shadow:var(--sh);text-align:center}.login-card form{text-align:start}
.vcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.8rem}.vcard{border:1px solid var(--line);border-radius:var(--r);padding:.8rem;background:var(--card)}.vcard b{display:block}
.board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,1fr);gap:.8rem;overflow-x:auto}.col{background:var(--hover);border-radius:var(--r);padding:.6rem}.col h3{display:flex;justify-content:space-between}.wocard{display:block;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:.55rem .7rem;margin-bottom:.5rem;color:var(--ink)}.wocard:hover{text-decoration:none;border-color:var(--brand)}
.modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.45);display:grid;place-items:center;z-index:100;padding:1rem}.modal-bg[hidden]{display:none}.modal{background:var(--card);border-radius:12px;padding:1.2rem;width:min(520px,100%);max-height:90vh;overflow:auto;box-shadow:0 20px 50px rgba(0,0,0,.3)}
.lines td{padding:.25rem}.lines .inp{padding:.3rem .45rem}
.combo{position:relative}.combo-list{position:fixed;background:var(--card);border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.2);z-index:10000;overflow:auto}.combo-list div{padding:.4rem .65rem;cursor:pointer}.combo-list div:hover,.combo-list div.hl{background:var(--hover)}
.inv{max-width:820px;margin:0 auto;background:#fff;color:#111;padding:2rem;border:1px solid var(--line);border-radius:6px}.inv table{width:100%;border-collapse:collapse}.inv th,.inv td{padding:.4rem .5rem;border-bottom:1px solid #ddd;text-align:start}.inv .n{text-align:end}
@media(max-width:900px){.side{position:fixed;inset-block:0;inset-inline-start:0;z-index:60;transform:translateX(-110%);transition:transform .2s}[dir=rtl] .side{transform:translateX(110%)}body.nav-open .side{transform:none}#navtoggle{display:inline-flex}.g2,.g3,.g4,.g5,.g21,.form-grid{grid-template-columns:1fr}.content{padding:1rem}}

.live{display:inline-block;width:8px;height:8px;border-radius:50%;background:#16a34a;animation:pulse 1.2s infinite}@keyframes pulse{50%{opacity:.25}}
.timerbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;border-color:#16a34a}.chip{background:var(--bg2,#f3efe8);padding:3px 10px;border-radius:999px;font-size:.9em}
.working{color:#15803d;font-size:.88em;font-weight:600;white-space:nowrap}.tmr{font-variant-numeric:tabular-nums}.working.warn{color:#d97706}.working.warn .live{background:#d97706}.working.over{color:#dc2626}.working.over .live{background:#dc2626;animation-duration:.6s}
.bad-t{color:var(--bad);font-weight:600}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem;margin-bottom:1rem}.stats .stat{margin:0}.stat span{display:block;color:var(--mut);font-size:.85rem}.stat b{font-size:1.35rem;font-variant-numeric:tabular-nums}.stat b.ok{color:#15803d}.stat b.bad{color:var(--bad)}
.logo-img{height:34px;max-width:120px;object-fit:contain;border-radius:6px}.logo-img.big{height:64px;max-width:200px;display:block;margin:0 auto 1rem}.alert.warn{background:#fef3c7;color:#92400e}

.combo-list div.on{background:var(--accent,#d99a2b);color:#fff}

.tabs{display:flex;gap:.3rem;margin:.5rem 0 .8rem;border-bottom:1px solid var(--line)}.tabs a{padding:.45rem .9rem;border-radius:8px 8px 0 0;color:inherit;text-decoration:none}.tabs a.on{background:var(--card);border:1px solid var(--line);border-bottom-color:var(--card);margin-bottom:-1px;font-weight:700}
.vgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.vc{position:relative;background:var(--card);border-radius:14px;box-shadow:0 2px 10px rgba(0,0,0,.12);overflow:hidden}.vc.off{opacity:.65}
.vc-cover{display:block;height:200px;background:#f1f2f4 center/cover no-repeat;position:relative;color:#9a9ba0;text-decoration:none}.vc-cover .vph{position:absolute;left:12%;top:8%;width:76%;height:auto}
.vc-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent 45%,rgba(0,0,0,.6))}.vc-t{position:absolute;inset-inline:1rem;bottom:.8rem;z-index:2;color:#fff;display:flex;flex-direction:column}.vc-t b{font-size:1.25rem}.vc-t small{opacity:.85}
.vc-f{display:flex;gap:.7rem;align-items:center;padding:.7rem 1rem}.vc-f a{color:inherit;text-decoration:none}.vc-f span{display:inline-flex;gap:.3rem;align-items:center}
.vc-m{position:absolute;top:.5rem;inset-inline-end:.5rem;z-index:3}.vc-m summary{list-style:none;cursor:pointer;background:rgba(255,255,255,.85);color:#333;width:28px;height:28px;border-radius:50%;display:grid;place-items:center}.vc-m summary::-webkit-details-marker{display:none}.vc-m div{position:absolute;inset-inline-end:0;top:32px;background:var(--card);border:1px solid var(--line);border-radius:8px;min-width:150px;box-shadow:0 8px 24px rgba(0,0,0,.2);padding:.2rem}.vc-m a,.vc-m button{display:block;width:100%;text-align:start;padding:.45rem .7rem;background:none;border:0;color:inherit;cursor:pointer;text-decoration:none;font:inherit}.vc-m a:hover,.vc-m button:hover{background:var(--hover)}
.vshot{max-width:360px;border-radius:12px;display:block;margin-bottom:.8rem}
/* RTL: cells and blocks forced to LTR (numbers, dates, phones) must still line up with their header */
[dir=rtl] .num{text-align:right}[dir=rtl] .n.num,[dir=rtl] .tbl td.n .num,[dir=rtl] th.n.num{text-align:left}
[dir=rtl] .tbl td.num.act{text-align:left}

/* sidebar: one section open at a time */
.nav-sec{display:flex;justify-content:space-between;align-items:center;width:100%;background:none;border:0;cursor:pointer;text-align:start;font-family:inherit}
.nav-sec::after{content:'';width:.45rem;height:.45rem;border-inline-end:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .15s;margin-inline-end:.2rem}
.nav-grp.open>.nav-sec::after{transform:rotate(-135deg)}.nav-sec:hover{color:var(--side-ink)}
.nav-items{display:none}.nav-grp.open>.nav-items{display:block}
/* sidebar look: big group rows with icon + chevron, open group shows a tinted list */
.nav-top{padding:.2rem 0 .4rem;border-bottom:1px solid var(--line)}
.nav-sec{gap:.7rem;justify-content:flex-start;text-transform:none;letter-spacing:0;font-size:.95rem;font-weight:650;color:var(--side-ink);padding:.8rem 1rem;border-bottom:1px solid var(--line)}
.nav-sec>span{flex:1}.nav-sec svg{color:var(--brand);flex:none}.nav-sec::after{margin-inline-start:auto}
.nav-grp.open>.nav-sec{background:color-mix(in srgb,var(--side-on) 30%,transparent)}
.nav-items{background:color-mix(in srgb,var(--side-on) 35%,transparent)}
.nav-items .nav-i{margin:0;border-radius:0;padding:.65rem 1.1rem .65rem 1.1rem;padding-inline-start:2.6rem;border-bottom:1px solid var(--line);font-size:.88rem}
.nav-items .nav-i svg{display:none}.nav-items .nav-i.on{background:var(--side-on)}
.nav-sec::after{border:0;border-right:2px solid currentColor;border-bottom:2px solid currentColor;margin-top:-.15rem}
.nav-grp.open>.nav-sec::after{margin-top:.2rem}

.lineform{display:grid;grid-template-columns:140px minmax(220px,1fr) 100px 100px 130px auto;gap:.6rem;align-items:end;margin:.9rem 0}
.lineform .fld{margin:0}.lineform .lf-main{grid-column:2}.lineform .lf-btn .btn{width:100%}
.lineform [hidden]{display:none!important}
@media(max-width:820px){.lineform{grid-template-columns:1fr 1fr}.lineform .lf-kind,.lineform .lf-main{grid-column:1/-1}.lineform .lf-btn{grid-column:1/-1}}

.inv-party{display:flex;gap:2rem;border:1px solid var(--line,#ddd);border-radius:8px;padding:.8rem 1rem;margin:.6rem 0}.inv-party>div{flex:1}.inv-party>div+div{border-inline-start:1px solid var(--line,#ddd);padding-inline-start:1.5rem}
.upbar{position:relative;height:30px;border:1px solid var(--line,#ccc);border-radius:8px;overflow:hidden;margin:.5rem 0;display:flex;align-items:center;background:var(--bg2,#f3f3f3)}
.upfill{position:absolute;inset-block:0;inset-inline-start:0;width:0;background:var(--pri,#2f6fed);opacity:.35;transition:width .15s}
.uptxt{position:relative;flex:1;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}.upx{position:relative;margin-inline:.3rem}

.pv-print{display:none}
@media print{.pv-has input,.pv-has select,.pv-has textarea,.pv-has .pill{display:none!important}.pv-has .pv-print{display:inline!important}.print-form .act,.print-form th:last-child{display:none!important}.print-form td,.print-form th{border:1px solid #ccc;padding:2mm 3mm}.print-form{border-collapse:collapse}}

.fld.bad>span{color:#b3261e;font-weight:700}.fld.bad .inp,.fld.bad .svc+*{border-color:#b3261e!important;box-shadow:0 0 0 3px rgba(179,38,30,.18)}.fld.bad.full>div{outline:2px solid #b3261e;outline-offset:3px;border-radius:6px;padding:.3rem}

.aibox{display:flex;flex-direction:column;gap:.7rem}.aimsgs{height:min(60vh,560px);overflow-y:auto;display:flex;flex-direction:column;gap:.6rem;padding:.2rem}
.aim{max-width:88%;padding:.6rem .85rem;border-radius:12px;line-height:1.6;overflow-wrap:anywhere}.aim.me{align-self:flex-end;background:var(--brand);color:var(--brand-ink)}.aim.bot{align-self:flex-start;background:var(--hover);border:1px solid var(--line)}.aim.bot.err{background:var(--bad-bg);color:var(--bad)}
.aim p{margin:.2rem 0}.aim ul,.aim ol{margin:.3rem 0;padding-inline-start:1.4rem}.aim .tbl-wrap{margin:.4rem 0}.aim code{background:var(--mut-bg);padding:0 .3rem;border-radius:4px;direction:ltr;unicode-bidi:isolate}
.aiform{display:flex;gap:.5rem;align-items:flex-end}.aiform textarea{flex:1;resize:vertical}.aifoot{font-size:.8rem}.aichips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem}.chip{border:1px solid var(--line);background:var(--card);color:var(--ink);padding:.3rem .7rem;border-radius:999px;cursor:pointer;font:inherit}.chip:hover{background:var(--hover)}
.aiwhy{margin-top:.5rem;font-size:.8rem}.aiq{margin:.3rem 0}.aiq code{display:block;white-space:pre-wrap;direction:ltr;text-align:left}
