:root{--sat:max(14px,env(safe-area-inset-top));--sab:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{background:#e9eef6;color:#0f172a;font-family:'Vazirmatn',system-ui,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent}
.num{font-variant-numeric:tabular-nums;letter-spacing:0}
a{color:#2563EB}
.noscroll::-webkit-scrollbar{display:none}
.noscroll{-ms-overflow-style:none;scrollbar-width:none;overflow-x:auto!important}
@keyframes uwPulse{0%,100%{opacity:1}50%{opacity:.4}}
.dot{width:6px;height:6px;border-radius:50%;background:#c62234;animation:uwPulse 1.1s infinite;display:inline-block}

#app{position:fixed;inset:0;margin:0 auto;width:100%;max-width:430px;background:#f5f8fd;overflow:clip}
@media (min-width:600px) and (hover:hover) and (pointer:fine){#app{max-width:402px;box-shadow:0 20px 60px rgba(15,23,42,.18);top:24px;bottom:24px;border-radius:32px;--sat:22px;--sab:0px}}
.screen{position:absolute;inset:0;overflow-y:auto;overflow-x:clip;-webkit-overflow-scrolling:touch;display:none;animation:hvIn .18s ease-out}
.screen.active{display:block}
.screen>[dir=rtl]{min-height:100%}
.screen.full>[dir=rtl]{height:100%}
@keyframes hvIn{from{opacity:.6;transform:translateX(-6px)}to{opacity:1;transform:none}}
.hv-nav{position:sticky;bottom:0;z-index:30}
.hv-nav>div{cursor:pointer;user-select:none}
[data-tap]{cursor:pointer}
[data-tap]:active{opacity:.75}
.hv-field-input{all:unset;flex:1;min-width:0;font:inherit;color:#0f172a;direction:ltr;text-align:left}
.hv-field-input::placeholder{color:#5f6d80}
#toast{position:fixed;left:50%;bottom:calc(90px + var(--sab));transform:translateX(-50%) translateY(20px);background:#0f172a;color:#fff;font-size:12.5px;font-weight:600;padding:9px 14px;border-radius:12px;opacity:0;transition:.2s;pointer-events:none;z-index:99;white-space:nowrap;font-family:'Vazirmatn',sans-serif}
#toast.show{opacity:1;transform:translateX(-50%)}
#install{position:absolute;top:calc(var(--sat) + 4px);left:50%;transform:translateX(-50%);z-index:60;display:none;align-items:center;gap:8px;background:#0f172a;color:#fff;border-radius:14px;padding:8px 10px 8px 12px;font-size:12px;font-weight:600;box-shadow:0 10px 26px rgba(15,23,42,.28);direction:rtl;white-space:nowrap}
#install.show{display:flex}
#install button{all:unset;background:#2563EB;color:#fff;border-radius:9px;padding:5px 10px;font-weight:700;cursor:pointer}
#install .x{cursor:pointer;opacity:.7;padding:0 4px}
#update{position:absolute;bottom:calc(84px + var(--sab));left:16px;right:16px;z-index:60;display:none;background:#2563EB;color:#fff;border-radius:14px;padding:11px 14px;font-size:12.5px;font-weight:700;text-align:center;cursor:pointer;box-shadow:0 10px 26px rgba(37,99,235,.28)}
#update.show{display:block}
.hv-offline{position:absolute;top:0;left:0;right:0;z-index:70;background:#c62234;color:#fff;font-size:11px;font-weight:700;text-align:center;padding:calc(var(--sat) - 10px) 0 4px;display:none}
.hv-offline.show{display:block}
/* جهت‌دهی استاندارد: متن فارسی راست‌به‌چپ، عدد/کد/لاتین چپ‌به‌راست و به‌صورت جدا (isolate) داخل جمله‌ی فارسی */
.num{direction:ltr;unicode-bidi:isolate}
input[dir=auto],textarea[dir=auto]{text-align:start}
input,textarea{unicode-bidi:plaintext}
/* چیپ‌های بازه‌ی نمودار موجودی: فشرده و در یک خط */
.hv-chart-chips>div{padding:3px 7px!important;font-size:10.5px!important;white-space:nowrap;flex-shrink:0}
.noscroll{scrollbar-width:none}.noscroll::-webkit-scrollbar{display:none}
/* هدر ثابت سایت در همه‌ی صفحات بعد از ورود */
#hv-header{position:absolute;top:0;left:0;right:0;z-index:40;background:#f5f8fd;padding-top:var(--sat);font-family:'Vazirmatn',sans-serif;direction:rtl}
.screen.has-hdr{top:var(--hdrH,96px)}
.screen.has-hdr>[dir=rtl]>:first-child{padding-top:8px!important}
