:root{--navy:#14263f;--navy2:#1d3557;--gold:#b8892b;--gold2:#f3e6c8;--bg:#f4f1ea;--card:#fff;--ink:#1c2430;--mute:#6b7480;--line:#e4dfd3;--ok:#1f7a4d;--bad:#b3372f;--warn:#a5670b}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Segoe UI,Tahoma,Geeza Pro,Noto Sans Arabic,Arial,sans-serif;font-size:15px;line-height:1.6}button,input,select,textarea{font:inherit;color:inherit}.app{grid-template-columns:230px 1fr;min-height:100vh;display:grid}aside{background:var(--navy);color:#fff;flex-direction:column;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0;overflow:auto}.brand{border-bottom:1px solid #fff2;align-items:center;gap:10px;margin-bottom:12px;padding:4px 8px 16px;display:flex}.logo{flex:none;width:40px;height:40px;display:block}.brand b{font-size:16px;display:block}.brand small{color:#ffffffa0;font-size:12px}nav button{color:#ffffffc8;cursor:pointer;text-align:right;white-space:nowrap;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;width:100%;padding:10px 12px;display:flex}nav button:hover{background:#ffffff14}nav button.on{background:var(--gold);color:#fff;font-weight:700}.who{color:#ffffffa0;border-top:1px solid #fff2;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding:10px;font-size:13px;display:flex}.who button{color:#fff;cursor:pointer;background:#ffffff1c;border:0;border-radius:7px;padding:4px 10px;font-size:12px}main{min-width:0;padding:22px 26px}h1{margin:0;font-size:22px}.head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.head p{color:var(--mute);margin:2px 0 0;font-size:13px}.btn{background:var(--navy2);color:#fff;cursor:pointer;border:0;border-radius:9px;padding:9px 16px;font-weight:600}.btn:disabled{opacity:.6;cursor:default}.btn.gold{background:var(--gold)}.btn.ghost{color:var(--navy2);border:1px solid var(--line);background:#fff}.btn.sm{padding:5px 10px;font-size:13px}.kpis{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:18px;display:grid}.kpi{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px}.kpi span{color:var(--mute);font-size:13px}.kpi b{font-variant-numeric:tabular-nums;font-size:24px;display:block}.kpi small{color:var(--mute)}.grid2{grid-template-columns:1.3fr 1fr;gap:14px;display:grid}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;min-width:0;margin-bottom:14px;padding:16px}.card h3{margin:0 0 10px;font-size:16px}.tw{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:right;color:var(--mute);border-bottom:2px solid var(--line);white-space:nowrap;padding:8px;font-size:12.5px;font-weight:600}td{border-bottom:1px solid var(--line);vertical-align:middle;padding:9px 8px}td.n,th.n{text-align:left;font-variant-numeric:tabular-nums;white-space:nowrap}.pill{white-space:nowrap;border-radius:99px;padding:1px 10px;font-size:12px;font-weight:600;display:inline-block}.p-eq{color:#1d3557;background:#e3ebf7}.p-mat{background:var(--gold2);color:#7a5a12}.p-ok{color:var(--ok);background:#dff3e8}.p-bad{color:var(--bad);background:#fbe2df}.p-warn{color:var(--warn);background:#fdeed3}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row.between{justify-content:space-between;margin-bottom:10px}.tabs{flex-wrap:wrap;gap:6px;display:flex}.tabs button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:99px;padding:5px 14px}.tabs button.on{background:var(--navy2);color:#fff;border-color:var(--navy2)}.search{border:1px solid var(--line);background:#fff;border-radius:9px;min-width:220px;padding:8px 12px}.bar{align-items:center;gap:10px;margin:7px 0;font-size:13px;display:flex}.bar i{background:#eee8da;border-radius:9px;flex:1;height:10px;display:block;overflow:hidden}.bar i u{background:var(--gold);border-radius:9px;height:100%;display:block}.bar span:first-child{width:130px}.bar b{text-align:left;font-variant-numeric:tabular-nums;width:90px}.modal{z-index:9;background:#0b1626a8;justify-content:center;align-items:flex-start;padding:24px 12px;display:flex;position:fixed;inset:0;overflow:auto}.sheet{background:#fff;border-radius:16px;width:min(880px,100%);padding:20px}.sheet h2{margin:0 0 14px;font-size:18px}.form{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:12px;display:grid}label{color:var(--mute);font-size:12.5px;display:block}label input,label select,label textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:8px;margin-top:3px;padding:8px 10px;font-size:14px;display:block}.lines input,.lines select{border:1px solid var(--line);background:#fff;border-radius:7px;width:100%;min-width:70px;padding:6px 8px}.tot{flex-wrap:wrap;justify-content:flex-end;gap:22px;margin:12px 0;font-size:14px;display:flex}.tot b{font-variant-numeric:tabular-nums;font-size:18px}.x{color:var(--bad);cursor:pointer;background:0 0;border:0;font-size:18px}.inv{border:1px solid var(--line);border-radius:10px;padding:18px}.inv-h{border-bottom:2px solid var(--navy);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;padding-bottom:10px;display:flex}.err{color:var(--bad);background:#fbe2df;border-radius:8px;margin-bottom:10px;padding:8px 12px;font-size:14px}.muted{color:var(--mute)}.toast{background:var(--navy);color:#fff;z-index:20;border-radius:99px;padding:10px 20px;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.login{background:var(--navy);place-items:center;min-height:100vh;padding:16px;display:grid}.login form{background:#fff;border-radius:16px;width:min(380px,100%);padding:26px}.login h1{margin-bottom:4px}.login p{color:var(--mute);margin:0 0 16px;font-size:13px}.login label{margin-bottom:12px}.login .btn{width:100%}@media (width<=820px){.app{grid-template-columns:1fr}aside{height:auto;padding:10px;display:block;position:static}.brand{border:0;margin:0;padding-bottom:8px}nav{gap:4px;display:flex;overflow-x:auto}nav button{width:auto;padding:7px 12px}.who{border:0;padding:6px 8px 0}main{padding:16px}.grid2{grid-template-columns:1fr}}@media print{body{background:#fff}#root,.no-print,.toast{display:none!important}.modal{background:0 0;padding:0;display:block;position:static;overflow:visible}.sheet{border-radius:0;width:100%;padding:0}.inv{border:0;padding:0}.tw{overflow:visible}}
