:root{--accent:#15803d;--bg:#f6faf7;--fg:#10241a;--font:"Tajawal",system-ui,sans-serif;color-scheme:light}
body{font-family:var(--font);background:#f6faf7;color:#10241a;direction:rtl}
.top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.6rem;padding:.8rem 1rem;background:#0f3d24;color:#fff}
.brand{display:flex;gap:.6rem;align-items:center}.brand small{display:block;opacity:.8}
.logo{width:40px;height:40px;border-radius:12px;background:#22c55e;display:grid;place-items:center;font-weight:800;font-size:1.3rem}
.tabs{display:flex;gap:.3rem;overflow-x:auto;padding:.5rem 1rem;background:#fff;border-bottom:1px solid #dfe9e2}
.tabs button{border:0;background:none;padding:.55rem .9rem;border-radius:99px;font:inherit;cursor:pointer;white-space:nowrap}
.tabs button.on{background:#dcfce7;color:#15803d;font-weight:700}
.row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.row.end{justify-content:flex-end}
.head-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.6rem}
.head-row h1{margin:0;font-size:1.5rem}
.btn{background:#15803d;color:#fff;border:0;border-radius:10px;padding:.55rem 1rem;font:inherit;font-weight:700;cursor:pointer}
.btn.ghost{background:#fff;color:#15803d;border:1px solid #bbf7d0}.btn.danger{background:#fee2e2;color:#b42318}
.btn.sm{padding:.3rem .7rem;font-size:.85rem}.input.sm{width:auto;padding:.35rem .5rem}
.link{background:none;border:0;color:#15803d;font:inherit;font-weight:700;cursor:pointer;text-decoration:underline}
.banner{background:#fef9c3;border:1px solid #fde68a;padding:.7rem 1rem;border-radius:10px;margin-bottom:1rem}
.sec{font-size:1.05rem;padding:.4rem .8rem;border-radius:8px;display:inline-block}
.sec.biz{background:#dcfce7;color:#14532d}.sec.per{background:#e0e7ff;color:#312e81}
.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.7rem}
.kpi{background:#fff;border:1px solid #dfe9e2;border-radius:14px;padding:.9rem;display:flex;flex-direction:column;gap:.3rem}
.kpi span,.kpi small,.muted{color:#5b6b61;font-size:.85rem}.kpi b{font-size:1.25rem}
.kpi.big{border:2px solid #22c55e}.pos{color:#15803d}.neg{color:#b42318}.kpi.pos b{color:#15803d}.kpi.neg b{color:#b42318}
.legend{display:flex;gap:1rem;flex-wrap:wrap;font-size:.85rem}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-inline-end:4px}
.c1{background:#16a34a}.c2{background:#f59e0b}.c3{background:#0ea5e9}.bar.neg{background:#ef4444}
.chart{display:flex;gap:.4rem;height:200px;align-items:flex-end;margin-top:1rem}
.col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}
.bars{flex:1;width:100%;display:flex;gap:2px;align-items:flex-end;justify-content:center}.bar{width:28%;border-radius:4px 4px 0 0;min-height:2px}
.filters{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.filters>*{flex:1 1 140px}.filters label{display:flex;gap:.3rem;align-items:center}
.cards{display:flex;flex-direction:column;gap:.6rem}
.rec{background:#fff;border:1px solid #dfe9e2;border-radius:12px;padding:.8rem;display:flex;justify-content:space-between;gap:.6rem;flex-wrap:wrap}
.rec-main,.rec-side{display:flex;flex-direction:column;gap:.3rem}.rec-side{align-items:flex-end}
.badge.warn{background:#fef3c7;color:#92400e}.total{text-align:start;font-size:1.05rem}
.modal{position:fixed;inset:0;background:#0008;display:grid;place-items:center;padding:1rem;z-index:20}
.sheet{width:100%;max-width:640px;max-height:90vh;overflow:auto;display:flex;flex-direction:column;gap:.8rem;background:#fff}.sheet.narrow{max-width:400px}
.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.6rem}
.field{display:flex;flex-direction:column;gap:.25rem}
.toast{position:fixed;bottom:1rem;left:50%;transform:translateX(-50%);background:#14532d;color:#fff;padding:.7rem 1.2rem;border-radius:10px;z-index:30}
.presets{display:flex;flex-wrap:wrap;gap:.4rem}
.chip{border:1px solid #bbf7d0;background:#f0fdf4;color:#166534;border-radius:999px;padding:.4rem .9rem;font:inherit;cursor:pointer}
.chip.on{background:#16a34a;border-color:#16a34a;color:#fff}
.breakdown{display:flex;flex-direction:column;overflow-x:auto}
.bd-row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:.5rem;padding:.5rem .4rem;border:0;border-bottom:1px solid #eef2ef;background:none;font:inherit;text-align:start;cursor:pointer;min-width:320px}
.bd-row:hover{background:#f0fdf4}
.bd-row.bd-head{font-weight:700;color:#166534;cursor:default;background:#f7faf8}
.bd-row.dim{opacity:.5}
