body{font-family:Vazirmatn,sans-serif;background:#F4F7FB;color:#14283F}
.panel{background:#fff;border:1px solid #E2E8F0;border-radius:16px;box-shadow:0 3px 12px #052c500a}
.sidebar{background:linear-gradient(165deg,#052C50,#07447A)}
.nav-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:10px;color:rgba(255,255,255,.85);font-size:13px;transition:.2s;cursor:pointer}
.nav-item:hover{background:rgba(255,255,255,.08);color:#fff}
.nav-item.active{background:#FFEB4E;color:#052C50;font-weight:700}
.nav-item svg{width:18px;height:18px;flex-shrink:0}
.field{border:1px solid #E2E8F0;border-radius:11px;padding:10px 12px;background:#fff;outline:none;font-size:12px;min-width:0;color:#14283F}
.field:focus{border-color:#07447A;box-shadow:0 0 0 3px #EAF3FA}
.badge{display:inline-flex;align-items:center;gap:5px;border-radius:99px;padding:4px 10px;font-size:11px;font-weight:700;white-space:nowrap}
.pill{border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700}
.btn-primary{background:#07447A;color:#fff;border-radius:11px;padding:9px 14px;font-size:12px;font-weight:700}
.btn-primary:hover{background:#17649F}
.btn-highlight{background:#FFEB4E;color:#052C50;border-radius:11px;padding:9px 14px;font-size:12px;font-weight:700}
.btn-highlight:hover{background:#F4D82C}
.btn-secondary{background:#fff;color:#14283F;border:1px solid #E2E8F0;border-radius:11px;padding:9px 14px;font-size:12px;font-weight:700}
.btn-secondary:hover{background:#EAF3FA;border-color:#07447A}
.kpi{background:linear-gradient(135deg,#fff,#F4F7FB)}
.drawer{transform:translateX(-105%);transition:.25s}
.drawer.open{transform:translateX(0)}
.shade{display:none}
.shade.open{display:block}
.skeleton{background:linear-gradient(90deg,#eee,#f5f5f5,#eee);background-size:200% 100%;animation:sh 1.2s infinite}
@keyframes sh{0%{background-position:200% 0}100%{background-position:-200% 0}}
@media(max-width:1023px){.sidebar{transform:translateX(100%);transition:transform .2s}.sidebar.open{transform:translateX(0)}}
.ltr{direction:ltr;text-align:left}
.rtl{direction:rtl}
.map-dot{position:absolute;transform:translate(50%,-50%);display:flex;align-items:center;gap:5px;background:#fff;border:1px solid #E2E8F0;box-shadow:0 3px 12px #0002;border-radius:9px;padding:6px 9px;font-size:11px;font-weight:700;white-space:nowrap}
.map-dot:before{content:'';height:9px;width:9px;border-radius:50%;background:#07447A}