.nav-icon {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  color: currentColor;
  transition: color .2s ease, background-color .2s ease, transform .2s ease;
}

.nav-icon svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.sidebar .nav-button {
  min-height: 52px;
  padding: 9px 11px;
  gap: 10px;
  font-weight: 600;
}

.sidebar .nav-button.active .nav-icon {
  background: var(--soft);
  color: var(--accent);
}

.sidebar .nav-button:hover .nav-icon {
  transform: translateY(-1px);
}

@media (max-width: 900px) {
  .mobile-nav .nav-button {
    min-width: 0;
  }

  .mobile-nav .nav-icon {
    width: 30px;
    height: 28px;
    border-radius: 9px;
  }

  .mobile-nav .nav-icon svg {
    width: 19px;
    height: 19px;
  }

  .mobile-nav .nav-button.active .nav-icon {
    color: var(--accent);
  }
}
