/* AssetHUB PWA Shell v1 — common technical layer. Approved screen CSS remains inline per page. */
:root{--ah-blue:#1d5cff;--ah-bg:#f8fafd;--ah-ink:#07111f;--ah-line:#e5eaf2}
html{scroll-behavior:smooth}body{-webkit-tap-highlight-color:transparent}a{text-decoration:none;color:inherit}.bottom-nav a.nav-item{cursor:pointer}.nav-item{user-select:none}.fab{cursor:pointer}
[data-page]{animation:ah-page-in .22s ease-out both}@keyframes ah-page-in{from{opacity:.72;transform:translateY(4px)}to{opacity:1;transform:none}}
.ah-toast{position:fixed;left:50%;bottom:calc(88px + env(safe-area-inset-bottom));transform:translateX(-50%) translateY(12px);max-width:360px;width:calc(100% - 40px);padding:12px 14px;border:1px solid rgba(29,92,255,.16);border-radius:18px;background:rgba(255,255,255,.92);box-shadow:0 18px 45px rgba(7,17,31,.14);backdrop-filter:blur(14px);font:600 12px/1.35 Sora,system-ui,sans-serif;color:var(--ah-ink);opacity:0;pointer-events:none;z-index:1000;transition:.22s ease}.ah-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.ah-offline-badge{position:fixed;top:calc(10px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:999;border:1px solid #e5eaf2;background:#fff7e8;color:#8a4b00;border-radius:999px;padding:7px 11px;font:700 11px Sora,system-ui,sans-serif;box-shadow:0 12px 32px rgba(7,17,31,.10);display:none}.ah-offline-badge.show{display:block}
@media (prefers-reduced-motion:reduce){[data-page],.ah-toast{animation:none;transition:none}}

/* v1.0.2 fix: do not animate/transform <body>, otherwise position:fixed
   elements become anchored to the document instead of the viewport in Chrome. */
body[data-page]{
  animation:ah-body-in .18s ease-out both !important;
  transform:none !important;
}
@keyframes ah-body-in{from{opacity:.78}to{opacity:1}}
.bottom-nav{
  position:fixed !important;
  left:50% !important;
  right:auto !important;
  bottom:0 !important;
  transform:translateX(-50%) !important;
  width:min(440px,100vw) !important;
  z-index:9999 !important;
}
.fab{
  position:fixed !important;
  z-index:10000 !important;
}
.app{
  padding-bottom:calc(120px + env(safe-area-inset-bottom)) !important;
}


/* v1.0.7: menu inferiore leggermente più leggibile, senza forzature invasive. */
.bottom-nav .nav-item{
  font-size:11px !important;
  line-height:1.05 !important;
  font-weight:750 !important;
}
.bottom-nav .nav-item svg{
  width:23px !important;
  height:23px !important;
}
.bottom-nav .nav-item span{
  white-space:nowrap !important;
}

/* v1.0.7: transizione pagina più rapida, senza trasformazioni che disturbano fixed/offline. */
[data-page]{animation:ah-page-in-v107 .10s ease-out both !important}
body[data-page]{animation:ah-body-in-v107 .08s ease-out both !important;transform:none !important}
@keyframes ah-page-in-v107{from{opacity:.96}to{opacity:1}}
@keyframes ah-body-in-v107{from{opacity:.97}to{opacity:1}}
