:root{--g:#1E5631;--g2:#2C6E43;--gold:#C9A13B;--goldt:#A9842A;--teal:#2E8B7A;--dt:#1C5560;--bg:#F4F6F3;--bd:#E2E6E1;--mut:#6B7570;--tx:#1F2A24;--track:#ECEEEB;--soft:#F1F6F2}
*{box-sizing:border-box}
body{margin:0;font-family:Tajawal,Arial,sans-serif;background:#EEF1ED;color:var(--tx)}
button{font:inherit}
.hidden{display:none!important}
.btn{font-weight:700;font-size:15px;padding:10px 16px;border:0;border-radius:10px;background:var(--g);color:#fff;cursor:pointer}
.btn.alt{background:#fff;color:var(--g);border:1.5px solid var(--g)}
.btn.sm{font-size:13px;padding:6px 10px;border-radius:8px}
.btn.ghost{background:transparent;color:var(--mut);border:1px solid var(--bd)}
.btn.danger{background:#fff;color:#A33;border:1px solid #E5C4C4}
.btn:disabled{opacity:.5;cursor:default}
input[type=text],input[type=password],input[type=number],input[type=datetime-local],select{font:inherit;font-size:14px;padding:9px 11px;border:1px solid var(--bd);border-radius:9px;background:#fff;color:var(--tx);width:100%}
input:focus,select:focus{outline:2px solid #BFD6C5;border-color:var(--g)}
label.f{display:block;font-size:13px;font-weight:700;margin:12px 0 6px}
.msg{font-size:13px;min-height:20px;line-height:1.6}
.msg.err{color:#A33}.msg.ok{color:var(--g)}
.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--tx);color:#fff;padding:10px 18px;border-radius:10px;font-size:14px;z-index:99;opacity:0;transition:.2s;pointer-events:none}
.toast.on{opacity:1}

/* شريحة الإنفوجرافيك (معاينة) */
.slide{width:min(100%,600px);aspect-ratio:7.5/11.25;background:var(--bg);border-radius:6px;box-shadow:0 4px 24px rgba(0,0,0,.08);padding:3.6% 5.3%;container-type:inline-size;display:flex;flex-direction:column;margin:0 auto}
.slide h2{margin:0;text-align:center;color:var(--g);font-size:7.4cqw;font-weight:800;line-height:1.3}
.orn{display:flex;align-items:center;gap:2.5cqw;justify-content:center;margin:1cqw 0}
.orn i{height:1px;width:26cqw;background:var(--gold)}.orn em{width:2.2cqw;height:2.2cqw;background:var(--gold);transform:rotate(45deg)}
.sub{text-align:center;font-weight:700;font-size:3.4cqw;margin-bottom:5.4cqw}
.scard{position:relative;background:#fff;border:1px solid var(--bd);border-radius:2.4cqw;box-shadow:0 2px 8px rgba(0,0,0,.05);padding:6.4cqw 3.4cqw 2.6cqw;margin-bottom:5.6cqw}
.pill{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);background:var(--g);color:#fff;font-weight:700;font-size:3.1cqw;padding:1.1cqw 4cqw;border-radius:99px;white-space:nowrap}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:2.6cqw}
.kpi{border:1px solid var(--bd);border-radius:1.6cqw;text-align:center;padding:2.6cqw 1cqw 2cqw;box-shadow:0 2px 6px rgba(0,0,0,.04)}
.ic{width:7.8cqw;height:7.8cqw;border-radius:50%;margin:0 auto 1.6cqw;display:flex;align-items:center;justify-content:center;flex:none}
.ic img{width:56%;height:56%}
.kpi .l{font-weight:700;font-size:3cqw}.kpi .nm{font-weight:800;line-height:1.5}.kpi .v{font-weight:800;font-size:4cqw}.kpi .big{font-weight:800;font-size:7.2cqw;line-height:1.5}
.chart{position:relative;margin-top:1cqw}
.chart .row{display:flex;align-items:center;height:5.1cqw;position:relative;z-index:1}
.chart .lab{width:23cqw;font-weight:700;font-size:2.8cqw;flex:none}
.chart .plot{flex:1;position:relative;height:100%;margin-inline-end:4cqw}
.chart .bar{position:absolute;right:0;top:18%;height:64%;border-radius:.6cqw}
.chart .n{position:absolute;top:0;height:100%;display:flex;align-items:center;font-weight:700;font-size:3cqw;padding-inline-start:1.2cqw}
.grid{position:absolute;inset:0 23cqw 0 4cqw}
.grid i{position:absolute;top:0;bottom:-1cqw;border-left:1px dashed #C9CFCB}
.axis{position:relative;height:4cqw;margin:1cqw 23cqw 0 4cqw;font-size:2.1cqw;color:var(--mut)}
.axis span{position:absolute;transform:translateX(50%)}
.axt{text-align:center;font-size:2.1cqw;color:var(--mut);font-weight:700;margin-inline-start:23cqw}
.gv .row{display:flex;align-items:center;gap:1.6cqw;height:5.6cqw;border-bottom:1px solid var(--bd)}.gv .row:last-child{border:0}
.gv .ic{width:4.8cqw;height:4.8cqw;margin:0}
.gv .lab{width:23cqw;font-weight:700;font-size:2.8cqw;flex:none}
.gv .tr{flex:1;height:2.4cqw;background:var(--track);border-radius:.7cqw;display:flex}
.gv .fl{height:100%;border-radius:.7cqw}
.gv .n{width:9cqw;text-align:left;font-weight:800;font-size:3.8cqw;flex:none}
.src{text-align:center;font-size:1.9cqw;color:var(--mut);margin-top:auto}
.empty{margin:auto;color:var(--mut);text-align:center;font-size:3.4cqw;line-height:1.8}
