:root{
  --bg:#f4f7f5; --card:#ffffff; --ink:#1c2b26; --muted:#5d6f68;
  --acc:#1a7f5a; --acc-d:#0f5c40; --acc-soft:#e3f0e9; --line:#dfe8e3;
  --warn:#b45309; --warn-soft:#fdf3e7; --head1:#0f5c40; --head2:#1a7f5a;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:Vazirmatn,IRANSans,Tahoma,sans-serif;font-size:15px;line-height:1.9}
section{scroll-margin-top:70px}
/* sticky full menu */
.topnav{position:sticky;top:0;z-index:20;background:linear-gradient(135deg,var(--head1),var(--head2));
  box-shadow:0 2px 10px rgba(0,0,0,.18)}
.navin{max-width:1100px;margin:0 auto;padding:8px 16px;display:flex;gap:4px;flex-wrap:wrap}
.navin a{color:#fff;text-decoration:none;font-size:.9rem;padding:6px 12px;border-radius:999px}
.navin a:hover{background:rgba(255,255,255,.18)}
.top{max-width:1100px;margin:0 auto;padding:26px 16px 6px}
.top h1{margin:.2em 0;font-size:1.7rem;color:var(--head1)}
.top .sub{color:var(--muted);margin:0}
a{color:var(--acc-d)}
main{max-width:1100px;margin:0 auto;padding:8px 16px 40px}
section{background:var(--card);border:1px solid var(--line);border-radius:16px;
  padding:20px;margin:18px 0;box-shadow:0 1px 4px rgba(15,92,64,.06)}
section h2{margin-top:0;font-size:1.2rem;color:var(--head1);
  border-bottom:2px solid var(--acc-soft);padding-bottom:8px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.card{background:linear-gradient(180deg,#fff,var(--acc-soft));border:1px solid var(--line);
  border-radius:14px;padding:14px;text-align:center}
.card b{display:block;font-size:1.5rem;color:var(--acc-d)}
.card span{color:var(--muted);font-size:.85rem}
.card.warn{background:linear-gradient(180deg,#fff,var(--warn-soft))}
.card.warn b{color:var(--warn)}
.chart{width:100%;height:380px}
.chart.tall{height:520px}
.chart.sm{height:220px}
.chart.stagetall{height:460px}
.tbar{margin:-4px 0 8px}
.tbar button{padding:4px 12px;font-size:.8rem}
.tblwrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px}
table{width:100%;border-collapse:collapse;font-size:.9rem}
th,td{border-bottom:1px solid var(--line);padding:8px 10px;text-align:right;white-space:nowrap}
th{background:var(--acc-soft);color:var(--head1);position:sticky;top:0}
tbody tr:nth-child(even){background:#fafcfb}
tbody tr:hover{background:#eef5f1}
input[type=search],select{font-family:inherit;font-size:1rem;padding:9px 12px;
  border:1px solid var(--line);border-radius:10px;width:100%;background:#fff;color:var(--ink)}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.row>*{flex:1 1 200px}
button{font-family:inherit;background:var(--acc);color:#fff;border:0;border-radius:10px;
  padding:9px 16px;cursor:pointer;font-size:.95rem}
button:hover{background:var(--acc-d)}
button.ghost{background:#fff;color:var(--acc-d);border:1px solid var(--acc)}
button:disabled{opacity:.5;cursor:default}
.chip{border:1px solid var(--acc);background:#fff;color:var(--acc-d);border-radius:999px;
  padding:4px 14px;margin:2px;cursor:pointer;font-size:.85rem;font-family:inherit}
.chip.off{opacity:.45}
#searchRes{list-style:none;margin:6px 0 0;padding:0;border:1px solid var(--line);
  border-radius:10px;max-height:320px;overflow:auto;background:#fff}
#searchRes li{padding:8px 12px;border-bottom:1px solid var(--line);cursor:pointer;font-size:.9rem}
#searchRes li:hover{background:var(--acc-soft)}
#searchRes small{color:var(--muted)}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;
  align-items:center;justify-content:center;z-index:50;padding:16px}
.modal .box{background:#fff;border-radius:16px;max-width:600px;width:100%;
  max-height:88vh;overflow:auto;padding:22px;direction:rtl;
  box-shadow:0 12px 40px rgba(0,0,0,.25)}
.kv{display:grid;grid-template-columns:130px 1fr;gap:4px 10px;font-size:.92rem}
.kv dt{color:var(--muted)}
.kv dd{margin:0}
.money{background:#f2f7f5;border-radius:10px;padding:10px 14px;margin:10px 0}
.money div{display:flex;justify-content:space-between;gap:8px}
.money .sub2{font-size:.82rem;color:var(--muted)}
.counter{background:#fff;border:1px solid var(--line);
  border-radius:10px;padding:8px 14px;font-size:.9rem}
.legend{font-size:.85rem;color:var(--muted)}
.progress{height:10px;background:var(--line);border-radius:999px;overflow:hidden;margin:8px 0}
.progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--acc),#2a9d8f);
  border-radius:999px;transition:width .2s}
.pager{display:flex;gap:8px;align-items:center;justify-content:center;margin-top:10px}
.foot{max-width:1100px;margin:0 auto;padding:0 16px 40px;color:var(--muted);font-size:.85rem}
.foot a{color:var(--acc-d)}
small{font-size:.78em;color:var(--muted)}
.stagegrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}
.stagegrid .chart{height:300px}
@media (max-width:640px){.chart{height:300px}.top h1{font-size:1.3rem}.navin a{font-size:.8rem;padding:5px 9px}}
