/* ============================================================================
   pwa.css — رفتار اپلیکیشنی PWA (Standalone / Safe Area / لمس)
   ----------------------------------------------------------------------------
   عمداً از app-shell.css/app.css جدا نگه داشته شده تا کل تغییرات PWA در یک
   فایل، مستقل و قابل بازگشت باشد. هیچ قاعده‌ای طراحی موجود را در حالت
   مرورگر معمولی تغییر نمی‌دهد — اغلب قواعد زیر پشت
   @media (display-mode: standalone) هستند و فقط وقتی برنامه نصب‌شده اجرا
   می‌شود فعال می‌گردند.
   ========================================================================== */

/* ── لمس/اسکرول اپلیکیشنی، در همهٔ حالت‌ها (نصب‌شده یا در مرورگر) ───────── */
html{
  -webkit-tap-highlight-color: transparent;
}
body{
  overscroll-behavior-y: contain; /* از رفتار "پول تو رفرش"/لغزش پس‌زمینه هنگام کشیدن تا انتهای صفحه جلوگیری می‌کند */
}
.sidebar-nav,
.page-content{
  -webkit-overflow-scrolling: touch;
}

/* جلوگیری از زوم ناخواستهٔ iOS هنگام فوکوس ورودی — Safari هر input با
   font-size زیر ۱۶px را با زوم خودکار باز می‌کند. این تنها تغییر بصری
   عمدی این فایل است و مستقیماً الزام «جلوگیری از Zoom ناخواسته» را برطرف
   می‌کند. */
@media (max-width: 1023px){
  .ui .form-control,
  .ui .form-control-sm,
  input, select, textarea{
    font-size: 16px;
  }
}

/* ── حالت Standalone (نصب‌شده، بدون نوار مرورگر) ─────────────────────────
   display-mode: standalone فقط وقتی برنامه از آیکون صفحهٔ اصلی اجرا شود
   true می‌شود؛ در تب معمولی مرورگر این بلوک اصلاً اعمال نمی‌شود. */
@media (display-mode: standalone){
  .topbar{
    padding-block-start: calc(var(--s2) + env(safe-area-inset-top));
  }
  .sidebar-header{
    padding-block-start: calc(var(--s3) + env(safe-area-inset-top));
  }
  .sidebar-footer{
    padding-block-end: calc(var(--s3) + env(safe-area-inset-bottom));
  }
  .page-content{
    padding-block-end: calc(var(--s6) + env(safe-area-inset-bottom));
  }
}

/* ============================================================================
   دکمهٔ نصب اپلیکیشن (سایدبار) — از کلاس‌های nav-link موجود ارث می‌برد،
   اینجا فقط رفتار hidden/انیمیشن ورود آن اضافه می‌شود.
   ========================================================================== */
#pwaInstallBtn[hidden]{ display: none; }
#pwaInstallBtn{
  font: inherit; inline-size: 100%; text-align: start;
  background: none; border: 0; cursor: pointer;
  animation: reveal-up .3s var(--ease-reveal) both;
}

/* ============================================================================
   اعلان به‌روزرسانی نسخهٔ PWA
   ========================================================================== */
.pwa-update-toast{
  position: fixed;
  inset-inline: var(--s4);
  inset-block-end: calc(var(--s4) + env(safe-area-inset-bottom));
  z-index: 300;
  display: flex; align-items: center; gap: var(--s3);
  max-width: 420px; margin-inline: auto;
  padding: var(--s3) var(--s3) var(--s3) var(--s4);
  border-radius: var(--r-md);
  background: var(--nav-bg);
  color: var(--nav-ink-strong);
  box-shadow: var(--shadow-lift);
  font-size: 13.5px;
  animation: reveal-up .3s var(--ease-reveal) both;
}
.pwa-update-toast span{ flex: 1; }
.pwa-update-btn{
  font: inherit; font-weight: 700; white-space: nowrap;
  background: var(--brand); color: #fff; border: 0;
  border-radius: var(--r-sm); padding: 8px 14px; cursor: pointer;
}
.pwa-update-btn:hover{ background: var(--brand-strong); }
.pwa-update-close{
  font: inherit; font-size: 18px; line-height: 1;
  background: none; border: 0; color: var(--nav-ink); cursor: pointer;
  padding: 4px;
}
.pwa-update-close:hover{ color: var(--nav-ink-strong); }
