#_npb {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  z-index: 99999;
  pointer-events: none;
  background: var(--color-primary, #1A9635);
  transform-origin: 0 0;
  transform: scaleX(0);
  opacity: 0;
  will-change: transform, opacity;
}

/* Overlay de skeleton durante navegação client-side (Partials). Cobre só a
   área do <main> (a nav lateral/inferior continua visível). */
#_navskel {
  position: fixed;
  z-index: 9998;
  opacity: 0;
  transition: opacity .18s ease;
  pointer-events: auto;
  overflow: hidden;
}
#_navskel._on {
  opacity: 1;
}
#_navskel ._w {
  box-sizing: border-box;
  height: 100%;
  overflow: hidden;
  margin: 0 auto;
  width: 100%;
  max-width: 480px;
  padding: 24px 14px 0;
}
@media (min-width: 640px) {
  #_navskel ._w {
    max-width: 672px;
    padding: 32px 24px 0;
  }
}
#_navskel ._b {
  border-radius: 14px;
  background: var(--color-profile-border, rgba(127, 127, 127, .16));
  animation: _nskp 1.1s ease-in-out infinite;
}
#_navskel ._row {
  display: flex;
  align-items: center;
  gap: 12px;
}
#_navskel ._col {
  flex: 1 1 auto;
  min-width: 0;
}
#_navskel ._grid {
  display: grid;
  gap: 12px;
}
@keyframes _nskp {
  0%, 100% { opacity: .5; }
  50% { opacity: .9; }
}
