/* ── Reports Module Styles ── */
.rpt-sidenav{width:196px;min-width:196px;background:white;border:1px solid #e5e7eb;border-radius:12px;padding:8px 0;flex-shrink:0;position:sticky;top:0;max-height:calc(100vh - 120px);overflow-y:auto;}
.rpt-sidenav::-webkit-scrollbar{width:4px;}.rpt-sidenav::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:3px;}
.rpt-nav{display:flex;align-items:center;gap:8px;padding:8px 14px;font-size:12.5px;color:#4b5563;cursor:pointer;border-right:3px solid transparent;transition:background .1s;text-decoration:none;white-space:nowrap;}
.rpt-nav:hover{background:#f9fafb;color:#111827;}
.rpt-nav.active{background:#f0fdf4;color:#15803d;font-weight:600;border-right-color:#22c55e;}
.rpt-group-lbl{padding:7px 14px 3px;font-size:10px;font-weight:700;color:#9ca3af;letter-spacing:.7px;}
.rpt-divider{height:1px;background:#f3f4f6;margin:5px 0;}
.rpt-card{background:white;border:1px solid #e5e7eb;border-radius:12px;padding:20px;}
.rpt-card-ttl{font-size:14px;font-weight:700;color:#111827;margin-bottom:4px;}
.rpt-card-sub{font-size:11.5px;color:#9ca3af;margin-bottom:18px;}
.rpt-filter-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;background:#f8fafc;border:1px solid #e5e7eb;border-radius:9px;padding:10px 14px;margin-bottom:16px;}
.rpt-filter-bar label{font-size:12px;color:#6b7280;white-space:nowrap;}
.rpt-inp{padding:6px 10px;border:1px solid #e5e7eb;border-radius:7px;font-size:12px;outline:none;background:white;font-family:inherit;}
.rpt-inp:focus{border-color:#86efac;}
.rpt-sel{padding:6px 10px;border:1px solid #e5e7eb;border-radius:7px;font-size:12px;background:white;cursor:pointer;outline:none;font-family:inherit;}
.rpt-btn{padding:7px 16px;background:#22c55e;color:white;border:none;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:5px;font-family:inherit;}
.rpt-btn:hover{background:#16a34a;}
.rpt-btn-out{padding:6px 14px;background:white;color:#374151;border:1px solid #e5e7eb;border-radius:8px;font-size:12px;cursor:pointer;display:inline-flex;align-items:center;gap:5px;font-family:inherit;}
.rpt-btn-out:hover{background:#f9fafb;}
.rpt-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px;}
/* 🔵 ۸ مهر ۱۴۰۵ — داشبوردِ خریدِ نمایندگان پنج کاشی دارد، نه چهار. شبکهٔ ثابتِ بالا
   آن‌ها را از کادر بیرون می‌زد. auto-fit یعنی در صفحهٔ باریک خودشان می‌شکنند، بدونِ سرریز. */
.rpr-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:10px;margin-bottom:16px;}
.rpt-kpi{background:white;border:1px solid #e5e7eb;border-radius:10px;padding:12px;display:flex;align-items:center;gap:10px;}
.rpt-kpi-ico{width:40px;height:40px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.rpt-kpi-val{font-size:18px;font-weight:700;color:#111827;line-height:1.1;}
.rpt-kpi-lbl{font-size:10.5px;color:#9ca3af;margin-top:2px;}
.rpt-charts-row{display:grid;gap:12px;margin-bottom:16px;}
.rpt-ch2{grid-template-columns:1fr 1fr;}
.rpt-ch3{grid-template-columns:1fr 1fr 1fr;}
.rpt-ch1{grid-template-columns:1fr;}
.rpt-ch-card{background:white;border:1px solid #e5e7eb;border-radius:10px;padding:14px;}
.rpt-ch-ttl{font-size:12px;font-weight:600;color:#374151;margin-bottom:10px;}
.rpt-ch-wrap{position:relative;height:220px;}
.rpt-tbl-wrap{background:white;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;}
.rpt-tbl-hdr{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #f3f4f6;}
.rpt-tbl-hdr-ttl{font-size:13px;font-weight:600;color:#374151;}
.rpt-tbl{width:100%;border-collapse:collapse;}
.rpt-tbl thead th{text-align:right;padding:9px 12px;font-size:11.5px;color:#6b7280;background:#f8fafc;font-weight:700;border-bottom:2px solid #e5e7eb;white-space:nowrap;}
.rpt-tbl tbody tr:hover td{background:#f0fdf4;}
.rpt-tbl tbody tr:nth-child(even) td{background:#fafafa;}
.rpt-tbl tbody tr:nth-child(even):hover td{background:#f0fdf4;}
.rpt-tbl td{padding:9px 12px;border-top:1px solid #f3f4f6;font-size:12px;color:#374151;}
.rpt-empty{text-align:center;padding:50px;color:#9ca3af;font-size:13px;}
.rpt-badge-red{display:inline-flex;align-items:center;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:600;background:#fee2e2;color:#b91c1c;}
.rpt-badge-yellow{display:inline-flex;align-items:center;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:600;background:#fef9c3;color:#854d0e;}
.rpt-badge-green{display:inline-flex;align-items:center;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:600;background:#dcfce7;color:#15803d;}
.rpt-badge-gray{display:inline-flex;align-items:center;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:600;background:#f3f4f6;color:#6b7280;}
.rpt-badge-blue{display:inline-flex;align-items:center;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:600;background:#dbeafe;color:#1d4ed8;}
.rpt-loading-wrap{background:white;border:1px solid #e5e7eb;border-radius:12px;padding:70px;text-align:center;}
.rpt-spinner{width:36px;height:36px;border:3px solid #e5e7eb;border-top-color:#22c55e;border-radius:50%;animation:rpt-spin .8s linear infinite;margin:0 auto;}
@keyframes rpt-spin{to{transform:rotate(360deg);}}
.rpt-warn-row td{background:#fffbeb!important;}
.rpt-error-row td{background:#fff1f2!important;}
